web-dev-qa-db-ja.com

データフレーム列名のループ-R

データフレームの列名をループして、各クラスがどのクラスであるかを評価しようとしています。

for (i in columns(df)){
  class(df$i)
}

正しい方法を除いて、すべてを試しました。

PS:クラスごとに異なる条件を設定する必要があるため、この方法でやろうとしています。

6
Chris

正確な質問に答え、指定されたコードを修正するには、以下の例を参照してください

df <- iris # data

for (i in colnames(df)){
   print(class(df[[i]]))
}
# [1] "numeric"
# [1] "numeric"
# [1] "numeric"
# [1] "numeric"
# [1] "factor"
  1. colnamesの列名を取得するには、dfを使用する必要があります。
  2. そのクラスを知りたい場合は、df[[i]]を使用して各列にアクセスします。 df[i]data.frameクラスです。
12
tpol