r - 如何删除 nrow 的数据框
我有一个数据框列表,大小不等。我想删除那些行数很少的(比如说<3)。
到目前为止,这是我一直在使用的东西,因为它的价值:
d1 <- data.frame(y1 = c(1, 2, 3, 9), y2 = c(4, 5, 6, 7))
d2 <- data.frame(y1
问题描述
我有一个数据框列表,大小不等。我想删除那些行数很少的(比如说<3)。
到目前为止,这是我一直在使用的东西,因为它的价值:
d1 <- data.frame(y1 = c(1, 2, 3, 9), y2 = c(4, 5, 6, 7))
d2 <- data.frame(y1 = c(3, 2, 1, 6), y2 = c(6, 5, 4, 4))
d3 <- data.frame(y1 = c(3, 2), y2 = c(6, 5))
d4 <- data.frame(y1 = c(3, 2), y2 = c(6, 5))
listdfs <- list(d1, d2, d3, d4)
listdfs2<-lapply(listdfs,function(x) if(nrow<10<-NULL)))
所以基本上应该保持d1和2。
谢谢。
我的python代码输出背后的逻辑是什么?
我从网站上获得了以下程序片段的参考,但通过它我无法理解输出:
data = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
def fun(m):
v = m[0][0]
for row in m:
for element in row:
if v < element: v = element
return v
print(fun(data[0]))
我可以通过打印语句计算几个输出,例如
v = m[0][0] --> output 1
1st iteration
for element in row: --> output 1, 2
if v > element: v = element --> output 2.
但是第一个 for 循环让我感到困惑,函数外的 print 语句也是如此。
对不起,愚蠢的问题,但我需要清除我的逻辑。
先感谢您
解决方案
这可以通过 来完成Filter
,即
Filter(function(i) nrow(i) > 3, listdfs)
[[1]]
y1 y2
1 1 4
2 2 5
3 3 6
4 9 7
[[2]]
y1 y2
1 3 6
2 2 5
3 1 4
4 6 4
推荐阅读
- git - 如何使用 git 获取完整的 repo 副本
- rust - 为什么 Rust 借用检查器会忽略函数参数中的可变指针?
- python - Python -m 切换运行包内的模块
- android - 评估项目“:app”时出现问题 - Firebase 与 Flutter 集成
- html - 有没有办法我可以使用嵌入视频
- kepler.gl - 在没有互联网连接的笔记本电脑上运行 kepler.gl
- css - SCSS&符号编译的完整根元素不仅是父元素
- python - 如何在 Django 中链接到我的 GCS Bucket JSON 凭据文件?
- python - Python Click autocomplete for (str, str) 选项
- java - 如何修复 RC4 描述与原文不符?
我有一个数据框列表,大小不等。我想删除那些行数很少的(比如说<3)。
到目前为止,这是我一直在使用的东西,因为它的价值:
d1 <- data.frame(y1 = c(1, 2, 3, 9), y2 = c(4, 5, 6, 7))
d2 <- data.frame(y1
问题描述
我有一个数据框列表,大小不等。我想删除那些行数很少的(比如说<3)。
到目前为止,这是我一直在使用的东西,因为它的价值:
d1 <- data.frame(y1 = c(1, 2, 3, 9), y2 = c(4, 5, 6, 7))
d2 <- data.frame(y1 = c(3, 2, 1, 6), y2 = c(6, 5, 4, 4))
d3 <- data.frame(y1 = c(3, 2), y2 = c(6, 5))
d4 <- data.frame(y1 = c(3, 2), y2 = c(6, 5))
listdfs <- list(d1, d2, d3, d4)
listdfs2<-lapply(listdfs,function(x) if(nrow<10<-NULL)))
所以基本上应该保持d1和2。
谢谢。
我的python代码输出背后的逻辑是什么?
我从网站上获得了以下程序片段的参考,但通过它我无法理解输出:
data = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
def fun(m):
v = m[0][0]
for row in m:
for element in row:
if v < element: v = element
return v
print(fun(data[0]))
我可以通过打印语句计算几个输出,例如
v = m[0][0] --> output 1
1st iteration
for element in row: --> output 1, 2
if v > element: v = element --> output 2.
但是第一个 for 循环让我感到困惑,函数外的 print 语句也是如此。
对不起,愚蠢的问题,但我需要清除我的逻辑。
先感谢您
解决方案
这可以通过 来完成Filter
,即
Filter(function(i) nrow(i) > 3, listdfs)
[[1]]
y1 y2
1 1 4
2 2 5
3 3 6
4 9 7
[[2]]
y1 y2
1 3 6
2 2 5
3 1 4
4 6 4
推荐阅读
- git - 如何使用 git 获取完整的 repo 副本
- rust - 为什么 Rust 借用检查器会忽略函数参数中的可变指针?
- python - Python -m 切换运行包内的模块
- android - 评估项目“:app”时出现问题 - Firebase 与 Flutter 集成
- html - 有没有办法我可以使用嵌入视频
- kepler.gl - 在没有互联网连接的笔记本电脑上运行 kepler.gl
- css - SCSS&符号编译的完整根元素不仅是父元素
- python - 如何在 Django 中链接到我的 GCS Bucket JSON 凭据文件?
- python - Python Click autocomplete for (str, str) 选项
- java - 如何修复 RC4 描述与原文不符?