0
有3個數據幀。 ID變量位於每個數據幀的第12列。我創建了一個向量list_cc_q1
,其中包含所有數據幀中的所有唯一ID(因此該向量中的每個條目都出現在至少一個數據幀的第12列中)。通過ID變量在數據幀之間求和變量
我希望創建,增加了,對於每個ID的向量v1
,在從含有該ID的每個數據幀中的第七列中的值(因此v1
將是相同長度的作爲list_cc_q1
)。下面是我使用的代碼:我想我已經過於複雜的代碼,一個簡單的方法將是極大的幫助
Error in get(y)[x, 12] : incorrect number of dimensions
Called from: which(get(y)[x, 12])
:
f1 <- function(x,y){
ifelse(length(get(y)[which(get(y)[x,12]),7])>0, get(y)[which(get(y)[x,12]),7], 0)}
g1 <- function(x){sum(sapply(ls()[1:3], function(y){ f1(x,y)}))}
v1 <- sapply(list_cc_q1, function(z){ g1(z) })
這將返回以下錯誤。
但爲什麼不工作?
完美!你理解正確。通過使用ls(envir = .GlobalEnv)修正我的代碼'[和另一個修正關於哪個']。但是你的代碼片斷要快2500倍。謝謝! –