如何以固定间隔为选定的行添加带有mutate的变量

时间:2019-05-08 10:53:51

标签: r dplyr mutate

我有一个很大的数据集,其中包含具有许多相关值的文本。文本每行分配1个单词。每个单词都有一个ID,用于标识其在文本中的位置。我想添加一个名为“ Line”的变量,在其中每10个单词添加一个值,以便前十个(1:10)的Line = 1,11-20的Line = 2,依此类推。 这是一个很长的文本,所以我不想手动为每十个单词编写mutate函数。 有什么建议么? 谢谢!

这是感兴趣的变量的样子

structure(list(IA_LABEL = c("it", "is", "a", "triumph", "said", 
"mr", "bankes", "laying", "his", "knife", "down", "for", "a", 
"moment", "he", "had", "eaten", "attentively", "it", "is", "rich", 
"it", "is", "tender", "it", "is", "perfectly", "cooked", "he", 
"thought"), Item_ID = 1:30), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -30L))

1 个答案:

答案 0 :(得分:2)

一种选择是使用gl创建分组指标

library(dplyr)
df1 %>% 
   mutate(Line = as.integer(gl(n(), 10, n())))

或使用%/%

df1 %>%
    mutate(Line = (row_number() - 1) %/% 10 + 1)