我在循環中使用下面的代碼,我只是複製了我面臨問題的部分。整個代碼非常長,並且我已經刪除了在兩者之間運行良好的部分這些線。這只是說明問題:在r中替代分配函數
for (j in 1:2)
{
assign(paste("numeric_data",j,sep="_"),unique_id)
for (i in 1:2)
{
assign(paste("numeric_data",j,sep="_"),
merge(eval(as.symbol(paste("numeric_data",j,sep="_"))),
eval(as.symbol(paste("sd_1",i,sep="_"))),all.x = TRUE))
}
}
,我現在面臨的問題是不是在第二步中分配,我想
for (j in 1:2)
{
assign(paste("numeric_data",j,sep="_"),unique_id)
for (i in 1:2)
{
eval(as.symbol((paste("numeric_data",j,sep="_"))))<-
merge(eval(as.symbol(paste("numeric_data",j,sep="_"))),
eval(as.symbol(paste("sd_1",i,sep="_"))),all.x = TRUE)
}
}
但是[R不使用(EVAL +粘貼)在分配新變量時不接受eval。我看了論壇,並且無處不在分配建議解決問題。但是,如果我使用assign循環覆蓋我以前生成的「numeric_data」而不是添加到它,因此我得到的只有一個值的輸出,而不是兩者。
我不確定我會考慮使用'eval'「normal」。 – nrussell
當然,讓我刪除該註釋 – Shaz
您不必刪除它;我的意思是,你爲什麼要特意使用'eval'? – nrussell