【发布时间】:2020-05-31 09:15:39
【问题描述】:
我有一个大数据框,一列显示受访者来自的省份。我希望根据列名(例如,对于希望、责任、功效等列),在某些列中查看各省受访者之间的值差异。
Province Hope Responsibility Efficacy Age
A 4 3 2 24
A 2 1 4 23
C 5 3 5 20
B 3 2 3 29
A 1 1 4 23
B 3 3 2 25
到目前为止,我遍历了每列的所有省份组合之间的差异:
list1 = list('A', 'B', 'C', 'D' 'E', 'F')
list2 = list('B', 'C', 'D' 'E', 'F')
for (i in list1){
for (j in list2){
t <- t.test(dt[Province == i, Hope], dt[Province == j, Hope])
if (t$p.value <= 0.05){
print(paste("Results:",i,"and",j))
print(t)
}}}
如何创建一个循环,根据列名循环遍历列列表,例如像这样的东西(不起作用)。
此部分已编辑
list1 = list('A', 'B', 'C', 'D' 'E', 'F')
list2 = list('B', 'C', 'D' 'E', 'F')
list3 = list('Hope', 'Responsibility', 'Efficacy')
for (c in list3){
for (i in list1){
for (j in list2){
t <- t.test(dt[Province == i, c], dt[Province == j, c])
if (t$p.value <= 0.05){
print(paste("Results:",i,"and",j))
print(t)
}}}}
【问题讨论】: