删除列表中多个数据帧的特定行
假设我有这样一个列表,其中包括 3 个名为 1、3 和 4 的数据框:
1 3 4
1 A c(2, 1, 3, 1, 2) c(1, 1, 2) c(1, 1)
2 B c(1, 1, 1, 3, 2) c(2, 1, 2) c(2, 1)
数据框具有所有相同的列(A 和 B),但行数不同,如您所见。如何删除值 < 的行B 列中的 2 对于列表中的所有数据框?
我尝试 lapply 与任何:
list <- lapply(list, function(x) {x <- any(x[,c(2)] < 2);x})
Lets suppose I have such a list including 3 dataframes named 1, 3 and 4:
1 3 4
1 A c(2, 1, 3, 1, 2) c(1, 1, 2) c(1, 1)
2 B c(1, 1, 1, 3, 2) c(2, 1, 2) c(2, 1)
The dataframes have all the same columns (A and B) but different counts of rows as you see. How do I erase the rows which have values < 2 in column B for all dataframes in the list?
I tried lapply with any:
list <- lapply(list, function(x) {x <- any(x[,c(2)] < 2);x})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
明智地使用 lapply() 和简单的子集设置与任何方法一样好。在
l
中使用您的数据:这可以实现您想要的功能
:
Judicious use of
lapply()
and simple subsetting is as good as any approach. Using your data inl
:This does what you want
giving:
像这样的事情怎么样:
How about something like this: