【发布时间】:2019-12-29 06:13:36
【问题描述】:
> colnames(fileIWantToAnalyze)
[1] "variable_1a" "variable_5b"
[3] "variable_1b" "variable_6a"
[5] "variable_2a" "variable_6b"
[7] "variable_2b" "variable_7a"
[9] "variable_3a" "variable_7b"
[11] "variable_3b" "variable_8a"
[13] "variable_4a" "variable_8b"
[15] "variable_4b" "variable_9a"
[17] "variable_5a" "variable_9b"
[19] "GroupingColumn1"
我无法在 R 中运行以下代码 - 引发此错误:
“fileIWantToAnalyze”是一个 data.table[.data.table(fileIWantToAnalyze, , .(mean1 = mean(get(attribute)), 中的错误:“by”或“keyby”列表中的项目是长度 (943026,1)。每个必须是长度 943026;与 x 中的行长度相同(如果提供了 i,则在子集之后)。
for(attribute in colnames(fileIWantToAnalyze)[c(1,3,5,7,9,11,13,15,17)]){
fileIWantToAnalyze[,.(mean1 = mean(get(attribute)),count1 = .N),
by = .(GroupingColumn1,sub("a", "b", attribute))]
}
这也行不通
for (attribute in colnames(fileIWantToAnalyze)[c(1,3,5,7,9,11,13,15,17)]){
fileIWantToAnalyze[,.(mean1 = mean(get(attribute)),count1 = .N),
by = .(GroupingColumn1,attribute)]
}
以下代码给出了我正在寻找的答案 - 但我想使用循环为许多变量生成输出
fileIWantToAnalyze[,.(mean1 = mean(variable_1a),count1 = .N),
by = .(GroupingColumn1,variable_1b))]
我认为问题在于我在分组时如何在“by”命令中调用“属性”
【问题讨论】:
-
告诉我们什么是行不通的,而不是告诉我们目标是什么......好吧,你应该能够理解我们的问题在理解你的问题。 .....更不用说没有minimal reproducible example的事实,这使得这不是一个很有吸引力的问题,可以花任何时间解决。对不起。查看How to Ask、minimal reproducible example 和edit。
标签: r loops for-loop data.table