df
にはn
の変数があります。 変数のサブセットをループして周波数テーブルを作成したいとします。例えばデータフレーム内の変数を集計するためのループ
、以下df
を与えられた:
id a b c d
1 0 1 0 1
2 1 0 1 0
3 0 1 0 1
私は成功せず、次の操作を実行しようとした:
varlist <- c("a", "c")
for (i in varlist){
print(table(df$i))
}
df
にはn
の変数があります。 変数のサブセットをループして周波数テーブルを作成したいとします。例えばデータフレーム内の変数を集計するためのループ
、以下df
を与えられた:
id a b c d
1 0 1 0 1
2 1 0 1 0
3 0 1 0 1
私は成功せず、次の操作を実行しようとした:
varlist <- c("a", "c")
for (i in varlist){
print(table(df$i))
}
(まず、あなたの行列df
は、データフレームに変換される:)
df <- setNames(as.data.frame(df), letters[1:4])
$
はありません変数で作業する。あなたは代わりに[[
を使用する必要があります。
for (i in varlist){
print(table(df[[i]]))
}
はしかし、あなたの問題のためにはるかに簡単に解決策はlapply
です:
lapply(df[varlist], table)
Extract
のヘルプページから:
主な違いは、
$
は計算されたインデックスを許可しない一方、[[
です。
'lapply(dat [varliat]、table)' – user20650
'table(df [varlist])'についてはどうですか? @UweBlock; – Uwe
;それは二次元以上の不連続表を与えるでしょう。単変量テーブルが必要なように見える – user20650