【发布时间】:2012-08-31 17:04:32
【问题描述】:
我需要在一个简单的循环中访问来自两个不同数据集的变量(如下)。 (我意识到这要求负向量和正向量的长度相同......幸运的是,情况总是如此。)
Groups<-c("bdiControl","bdi")
Positive<-c("PA","Sad_PA","Amuse_PA","Happy_PA","Disgust_PA")
Negative<-c("NA","Sad_NA","Amuse_NA","Happy_NA","Disgust_NA")
for (g in Groups) {
for (i in Positive) {
if (sd(Groups[[g]]$Positive[[i]])<sdthresh | sd(Groups[[g]]$Negative[[i]]])<sdthresh){
cat('Standard deviation too low to run\ ',Positive[[i]],Negative[[i]],'\ comparison')
}
else{
corr<-cor(Groups[[g]]$Positive[[i]],Groups[[g]]$Negative[[i]],use="complete.obs")
print("The correlation between " Positive[[i]] " and " Negative[[i]] " was " corr "for " Groups[[g]])
}
}
}
我尝试过的其他参考包括 g$i、Groups[g]$Positive[i]、g$Positive[[i]] 和类似的排列。我想我在解决问题的过程中旋转我的轮子。帮助?! :)
【问题讨论】:
-
问题是什么? (您拥有的代码不会运行。您需要修复其中的错误吗?)
-
澄清:
bdiControl和bdi是两个数据框?每个都有 10 列:5 正和 5 负?如果您使用dput(bdiControl)或仅使用一小部分(例如dput(head(bdiControl)) -
您能从头开始解释这个问题吗:很难对您正在尝试做的事情进行逆向工程。 (类似于:“我有两个数据框,
bdiControl和bdi,每个数据框有 5 对观察值,正面和负面。我需要找到...之间的相关性”) -
我有两个具有相同变量的数据框(bdi 和 bdiControl)。该代码会生成诸如“g$i 中的错误:$ 运算符对原子向量无效”之类的错误。当我对它运行的 datasets$vars 进行硬编码时,我很确定错误出在这些变量中。
-
你仍然没有说出你想要做什么。您是要在两个数据帧之间关联相同的变量,还是在每个数据帧内将正数与负数关联?我了解您正在尝试使用描述它们的字符串来访问变量对 - 我可以告诉您如何做到这一点,但我想确保我告诉您的方式正确。