r - 如何将数据帧中的字符串单独复制N次

标签 r replicate

我有一个数据框,我想根据下一个单元格的输入将单个单元格的输入复制 n 次并将其显示在新单元格中。

我的数据框如下所示:

data <- data.frame(c(1,1,2,3,4,4,4), c("A","B","A","C","D","E","A"), c(2,1,1,3,2,1,3))
colnames(data) <- c("document number", "term", "count")
data

这是我想要的结果:

datanew <- data.frame(c(1,2,3,4), c("A A B", "A", "C C C", "D D E A A A"))
colnames(datanew) <- c("document number", "term")


#   document number        term
# 1               1       A A B
# 2               2           A
# 3               3       C C C
# 4               4 D D E A A A

所以基本上,我喜欢将术语单元格的输入与相应计数单元格的输入相乘。有谁知道如何用 R 编写它吗?

最佳答案

我们可以使用 rep 复制 term count 次并将数据粘贴在一起。

library(dplyr)

data %>%
  group_by(`document number`) %>%
  summarise(new = paste(rep(term, count), collapse = " "))

# A tibble: 4 x 2
#  `document number` new        
#              <dbl> <chr>      
#1                 1 A A B      
#2                 2 A          
#3                 3 C C C      
#4                 4 D D E A A A

data.table类似

library(data.table)
setDT(data)[, (new =  paste(rep(term, count), collapse = " ")), 
               by = `document number`]

关于r - 如何将数据帧中的字符串单独复制N次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58287212/

相关文章:

r - 一旦它们的依赖项可用,如何动态加载 Shiny 的输出?

r - 绘制手段、错误,然后在后台绘制原始数据 - 更简单的代码?

r - 使用 R 将日期序列添加到数据框中

r - R 调查包中如何使用 BRR 权重?

将 xts 类复制到列表中

r - 通过重复行来转换数据帧并创建一个变量来计算两个变量的值

java - 分布式环境下的defaultCache和cache问题(数据不一致)

list - 轻松复制 Prolog :) 中的元素

R包ReporteRs : how to let it show cell padding in generated . docx文档?

r - knitr中内联R代码的第二次评估