1

这大概是一个简单的问题,但我一直无法找到答案。我想删除列表内的数据框列。

x1<- rnorm(100,0,1)
x2<- rnorm(100,0,1)
x3<- rnorm(100,0,1)
x4 <- rnorm(100,0,1)

df1 <- data.frame(x1,x2,x3)
df2 <- data.frame(x4)

l1 <- list(df1,df2)

l1[1]

data.frame(l1[1])[,-1]

l1[1] <- data.frame(l1[1])[,-1]

考虑这个示例,其中两个数据帧 df1 和 df2 在列表 l1 中。我想从 df1 中删除 x1 列。如果这只是一个数据框,这很简单。但是一旦进入列表,我不确定如何操作这个数据框。当我尝试在最后一条语句中覆盖它时,出现错误。

我的实际问题在一个列表中有大约 100 个数据框,其中大约 10% 有一个我需要删除的附加列。我可以用 lapply 语句轻松识别它们,但我不知道如何操作它们。

谢谢!

4

1 回答 1

3

代替

l1[1] <- data.frame(l1[1])[,-1]

采用

l1[[1]] <- data.frame(l1[1])[,-1]
于 2013-06-11T21:17:45.877 回答