将类似于表的输出转换为字符串

问题描述

我有

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"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...