使用R和tidyr,我想计算两个管道之间的数据帧的行数;有没有一种优雅的方法可以做到这一点?
我仅在删除具有NA的行时遇到问题,然后必须计算到目前为止数据帧的行数。是否可以在不将数据帧存储在管道之间的情况下执行此操作?
这里是可复制的示例。我基本上需要XXX
来引用drop_na()
之后的数据帧。
library(dplyr)
scrap <- as.data.frame(matrix(1:16, ncol = 4))
scrap[4,] <- rep(NA, 4)
scrap %>%
drop_na() %>%
mutate(index=c(1:nrow(XXX)))
[我以为如果我不提及以下任何内容,但没有,它将猜测我在做什么。
scrap %>%
drop_na() %>%
mutate(index=c(1:nrow()))
nrow()中的错误:参数“ x”丢失,没有默认值
我缺少一个优雅的解决方案吗?
不确定我是否理解您的问题,但使用dplyr::row_number
:
library(dplyr)
scrap %>%
drop_na() %>%
mutate(index=row_number())
返回:
V1 V2 V3 V4 index
1 1 5 9 13 1
2 2 6 10 14 2
3 3 7 11 15 3