定義列表反黑有兩個dataframes,DF1和DF2在列表中與dataframes工作:刪除變量,添加新的
dats <- list(df1 = data.frame(a=sample(1:3), b = sample(11:13)),
df2 = data.frame(a=sample(1:3), b = sample(11:13)))
> dats
$df1
a b
1 2 12
2 3 11
3 1 13
$df2
a b
1 3 13
2 2 11
3 1 12
我想順路可變一個每個數據幀。接下來,我想每個數據幀的ID從外部數據框中添加一個變量,如:
ids <- data.frame(id=c("id1","id2"),df=c("df1","df2"))
> ids
id df
1 id1 df1
2 id2 df2
要刪除我想這是不必要的增值經銷商沒有運氣:
> dats <- lapply(dats, function(x) assign(x, x[,c("b")]))
> Error in assign(x, x[, c("b")]) : invalid first argument
不知道怎麼加id也是。
我也試過,也許更恰當:
> temp <- lapply(dats, function(x) subset(x[1], select=x[[1]]$b))
Error in x[[1]]$b : $ operator is invalid for atomic vectors
我感到困惑的是,str(out[1])
返回一個列表,str(out[[1]])
返回一個數據幀。我認爲這可能與它有關。
如果您不同意我的編輯,請隨時回滾。我喜歡這個問題。 – bernie