0
我的for循环不会出现在我的数据帧进行循环。我认为这是因为它打印出我的调试打印行时的所有内容。在对代码工作对自己
目标
我想在一个相当大的数据集上运行的所有组的相关性。该代码应该遍历一个唯一的路径列表(var3)并在每条路径上运行相关性。
数据帧设置:
df.1
id var1 var2 var3
1 23 2.1 "this"
2 32 2.2 "is"
3 13 2.3 "is"
CODE
# reduce size
directory.df$var1<-format(round(directory.df$var1/1000,1),nsmall=1)
directory.df$var2<- format(round(directory.df$var2/1000,1),nsmall=1)
df.1 <- unique(directory.df$var3)
df.1 <- data.table(unique.directories)
for (current.dir in df.1)
{
print (current.dir)
directory.group <- subset(directory.df, var3 == current.dir)
directory.group$var1<- as.numeric(directory.group$var1)
directory.group$var2<- as.numeric(directory.group$var2)
## correlation ##
cor(directory.group$var1, directory.group$var2)
}
当运行该代码,打印(current.dir)将打印出整个列表。看起来好像for(current.dir in df.1)的第一行将var3的所有值并将其放入current.dir中。
摆脱'df.1 < - data.table(unique.directories)'' – Ista
为(在df.1 current.dir)'将基本上循环遍历每个列(有其中只有一个在这种情况下)。这是因为'df.1'本质上是一个列表,每列都是列表的一个元素。 – joran
样本数据'df.1'确实是'directory.df'?而'df.1'只是'directory.df $ var3'中唯一值的数组?目前还不清楚输入是什么,或者有额外的代码与问题无关。 – manotheshark