2013-10-28 77 views
0

週期選擇列我試圖創建一組表(回答數據幀),使用週期:作爲R

for (col in 1:ncol(answers)){ 
table(subset(answers,answers[,col]>6,select=answers[,col]),subset(answers,answers[,col]>6,select=c(clu))) 
} 

但我有一個錯誤:

Error in sort.list(y) : 'x' for 'sort.list' must be atomic. 

什麼是錯的我的代碼?我可以使用列名而不是索引嗎? 謝謝!

+0

請添加你正在試圖對你的問題*。 'table'和'subset'的使用看起來好像可以大幅度地改進成更像* R的*。 –

+0

感謝您的回覆, 我嘗試爲我的數據集製作一系列列聯表,但列值的一部分頻率很低,所以我嘗試將其濾除。問題是treshold(現在它等於6)對於每個表將是不同的。 – Maxim

回答

0

像這樣的圖案是更R-像:

lapply(answers, table, answers$clu) 

參見例如這個碼,它使用一個內置的數據集:

lapply(cars, table, cars$dist) 

lapply上每一列執行該功能,您可以使用它在每個列上運行table。所以上面的代碼示例爲cars數據集中的每列運行table(cars$a_column, cars$dist)