我有2个data.frame
,列数很多。
我想在每列中获取一些信息(我在这两个data.frame
之间进行排列测试,例如每列this,所以我必须在列中使用列的名称或编号我脚本中的对象(例如object <-data_frame_n$colomn_name_n
)。
是否有我的剧本:
quizz <- data_frame_1$colomn_name_1
control <- data_frame_2$colomn_name_1
obsdiff <- mean(quizz)-mean(control)
N <- 12
avgdiff <- replicate(1000, {
all <- sample(c(control,quizz))
newcontrols <- all[1:N]
newquizz <- all[(N+1):(2*N)]
return(mean(newquizz) - mean(newcontrols))
})
hist(avgdiff)
abline(v=obsdiff, col="red", lwd=2)
# the proportion of permutations with larger difference
(sum(abs(avgdiff) > abs(obsdiff)) + 1) / (length(avgdiff) + 1)
嗯,为了获得我的所有价值,我通过手动更改列的名称或编号(例如,第一个值:
quizz <- data_frame_1$colomn_name_1
control <- data_frame_2$colomn_name_1
...
我在剧本午餐时,写下了获得的价值;
为第二个值我改变:
quizz <- data_frame_1$colomn_name_2
control <- data_frame_2$colomn_name_2
...
我在剧本午餐,我写了获得的价值......等等)。
那么,有没有办法从对象中的data.frame
自动替换/粘贴列名?
更好的是,有没有办法替换它并获得具有所有结果的向量?
感谢您的启发!
答案 0 :(得分:1)
您可以使用
colnames(df)
获取所有列名称和
df[, "column1"] # equivalent to df$column1
获取专栏。所以你可以拥有像
这样的东西columns <- colnames(df)
for (col in columns) {
# do something with df[, col]
}
我猜其余部分取决于你想做什么。