dplyr:在数据帧中使用连续重复 n 次的整数来改变新列

2023-12-24

我正在努力解决一个可能很简单的问题。我有一个 1 列 n 行的数据框(n 是 3 的倍数)。我想添加第二列,其中包含整数,例如:1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,..如何实现此目的dplyr 作为不同长度行(均为 3 的倍数)的通用解决方案。

我试过这个:

df <- tibble(Col1 = c(1:12)) %>% 
  mutate(Col2 = rep(1:4, each=3))

这有效。但我想要一个 n 行的解决方案,每行 = 3 。非常感谢!


您可以指定each and length.out参数输入rep.

library(dplyr)

tibble(Col1 = c(1:12)) %>% 
  mutate(Col2 = rep(row_number(), each=3, length.out = n()))

#    Col1  Col2
#   <int> <int>
# 1     1     1
# 2     2     1
# 3     3     1
# 4     4     2
# 5     5     2
# 6     6     2
# 7     7     3
# 8     8     3
# 9     9     3
#10    10     4
#11    11     4
#12    12     4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dplyr:在数据帧中使用连续重复 n 次的整数来改变新列 的相关文章

随机推荐