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