问题描述
我有:
df <- data.frame(x = c("a","a","b"))
此:
table(df$x)
产生此:
a b
2 1
我想产生一个与表具有相同信息的字符串,如下所示:
a:2 b:1
解决方法
您可以使用paste
:
tmp <- table(df$x)
paste(names(tmp),tmp,sep = ':')
#[1] "a:2" "b:1"
或作为一个字符串:
paste(names(tmp),sep = ':',collapse = ' ')
[1] "a:2 b:1"
,
完成这项工作:
library(dplyr)
df %>% group_by(x) %>% summarise(cnt = n()) %>% mutate(str = paste0(x,':',cnt)) %>% pull(str)
`summarise()` ungrouping output (override with `.groups` argument)
[1] "a:2" "b:1"