R:一种计算管道之间的行数的整洁方法?

问题描述 投票:0回答:1

使用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”丢失,没有默认值

我缺少一个优雅的解决方案吗?

r tidyr
1个回答
2
投票

不确定我是否理解您的问题,但使用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
© www.soinside.com 2019 - 2024. All rights reserved.