【发布时间】:2018-04-10 08:49:58
【问题描述】:
我正在尝试从列表中的所有数据框中删除该行。我不知道怎么做。
数据的基本结构是一个列表中的所有五个估算数据帧。 如果某些数据帧不满足条件(例如,col3
这和上一个问题有关:
How can I have a subset of a list of data frames?
(加法) 例如,我有以下数据框列表
> temp <- list (
data.frame(house=c(1,-3,-2), income=c(2,3,4), capital=c(3,5,6)),
data.frame(house=c(1,-3,-2), income=c(2,3,4), capital=c(3,5,6)),
data.frame(house=c(1,-3,NA), income=c(2,3,4),capital=c(3,5,6))
)
> temp
[[1]]
house income capital
1 1 2 3
2 -3 3 5
3 -2 4 6
[[2]]
house income capital
1 1 2 3
2 -3 3 5
3 -2 4 6
[[3]]
house income capital
1 1 2 3
2 -3 3 5
3 NA 4 6
现在,我想要没有“house
temp <- subset(temp, house>0)
首先,这段代码不起作用..我不知道为什么...其次,我代码中的另一个列表能够执行子集函数。但是,事情是三个数据帧在更改后不平衡。这是由于第三个数据帧中的 NA。它没有从第 3 个数据帧中丢弃第 3 行,因此整个列表不平衡。
正如您从上一个问题中看到的,我正在研究消费者金融数据集,他们在列表中有 5 个插补数据框,当我尝试从整个列表中修剪负房屋价值行时,它只删除了一些数据框。我猜有一个完整的公共数据集以及一个提取数据集,后者不包括房屋列.....
【问题讨论】:
-
请清楚地说明您要做什么,并提供minimal reproducible example。也就是说——您可以使用
lapply()将计算映射到一个列表上,包括一个数据帧列表。 -
“如果某些数据帧不包含该行,我会尝试从这些数据帧中删除行。” 这是模糊和循环的。创建一个简单的例子。
my_list = list(mtcars, mtcars, mtcars)。现在,您要删除哪一行?是否有要测试的标准,或者只是特定列中的特定值?行名?第8行?.... -
我承认我的问题很糟糕...这次我试图填补空白...但是,我对 R 的了解打断了我提出明确问题... :(
标签: r