如何修改R语言中toString函数的默认分隔符
R语言自定义分隔符拼接字符串实现方法
R内置的toString函数本质是paste的封装版本,固定使用, (逗号+空格)作为分隔符,没有提供修改分隔符的参数,要替换为<br>这类自定义分隔符可以用以下两种方案:
方案1:使用R原生paste函数(无需额外安装依赖)
直接将summarise中的toString(y)替换为paste(y, collapse = "<br>")即可,完整示例代码如下:
library(dplyr) df <- data.frame( x = c(1, 1, 2, 3), y = c("11", "12", "2", "3")) df %>% group_by(x) %>% summarise(y_str = paste(y, collapse = "<br>")) %>% ungroup()
运行后分组为1的y_str输出结果为11<br>12,符合web场景的换行需求。如果需要自动跳过NA值,可以修改为paste(y[!is.na(y)], collapse = "<br>")。
方案2:使用stringr包的str_c函数(tidyverse生态推荐)
如果你已经在使用tidyverse系列工具,用str_c参数逻辑更清晰,还支持直接设置na.rm参数过滤空值:
library(dplyr) library(stringr) df <- data.frame( x = c(1, 1, 2, 3), y = c("11", "12", "2", "3")) df %>% group_by(x) %>% summarise(y_str = str_c(y, collapse = "<br>", na.rm = TRUE)) %>% ungroup()
内容的提问来源于stack exchange,提问作者Andrii
相关产品推荐
相关产品推荐

