gpt4 book ai didi

r - dplyr:在数据帧中用 n 次连续重复整数改变新列

转载 作者:行者123 更新时间:2023-12-05 02:02:01 25 4
gpt4 key购买 nike

我正在为一个可能很简单的问题而苦苦挣扎。我有一个 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 。非常感谢!

最佳答案

您可以在rep 中指定eachlength.out 参数。

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

关于r - dplyr:在数据帧中用 n 次连续重复整数改变新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66077138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com