如何为R语言数据框元素末尾加空格?含前置空格实现方法
嘿,这个需求很容易实现,我给你两种常用的方法,不管是末尾加空格还是开头加空格都适用~
先确认原始数据框
咱们先把初始数据摆出来:
Names <- data.frame(Companies=c('NINTENDO', 'SONY', 'MICROSOFT'))
给每个名称末尾添加空格
Base R 原生解法(无需额外装包)
用paste0()函数直接拼接一个空格就搞定,它是无分隔符的字符串拼接,比paste()更简洁高效:
Names$Companies <- paste0(Names$Companies, " ")
执行完这段代码,你的Names数据框里的Companies列就变成'NINTENDO ', 'SONY ', 'MICROSOFT '啦。
Tidyverse 风格解法(需要stringr包)
如果你平时习惯用tidyverse工具链,用stringr包里的str_c()也能轻松实现:
library(stringr) Names$Companies <- str_c(Names$Companies, " ")
额外问题:给每个名称开头添加空格
逻辑完全一致,只是把空格放在要拼接的字符串前面就行:
Base R 方法
Names$Companies <- paste0(" ", Names$Companies)
执行后会得到' NINTENDO', ' SONY', ' MICROSOFT'这样的结果。
Tidyverse 方法
Names$Companies <- str_c(" ", Names$Companies)
小提示
如果你的R版本比较老旧,创建数据框时字符串默认会被转成因子类型,这时候需要先转成字符型再操作:
Names$Companies <- as.character(Names$Companies) # 之后再执行上面的拼接代码
不过现在新版本的R已经默认stringsAsFactors = FALSE了,这个问题基本不用操心啦。
内容的提问来源于stack exchange,提问作者WoeIs
相关产品推荐
相关产品推荐

