You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中移除数据框内unite拼接后产生的空格

解决R语言unite拼接后出现空格的问题

方案1:拼接后直接清理空格

如果拼接后的字段里混着空格,用stringr::str_remove_all直接移除所有空白字符:

library(tidyr)
library(stringr)

# 替换成你的数据框和列名
df <- df %>%
  unite(拼接结果列名, 列1, 列2, sep = "", remove = FALSE) %>%
  mutate(拼接结果列名 = str_remove_all(拼接结果列名, "\\s"))

方案2:先清理原始列再拼接

空格大概率是原始列本身带的,先把要拼接的列里的空格清掉再用unite,从源头解决问题:

df <- df %>%
  # 批量清理指定列的空格
  mutate(across(c(列1, 列2), ~str_remove_all(.x, "\\s"))) %>%
  unite(拼接结果列名, 列1, 列2, sep = "", remove = FALSE)

方案3:不用tidyverse的base R写法

如果习惯用base R,用gsub清理空格后再用paste拼接:

# 清理原始列的空格
df$列1 <- gsub("\\s", "", df$列1)
df$列2 <- gsub("\\s", "", df$列2)
# 拼接
df$拼接结果列名 <- paste(df$列1, df$列2, sep = "")

为什么之前用paste没成功?

paste只是按指定分隔符拼接字符串,不会自动移除每个字符串内部的空格。如果原始列本身带空格,直接用paste只会把带空格的内容拼在一起,得先单独清理每一列的空格,或者拼接后整体清理。

内容的提问来源于stack exchange,提问作者Luise

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 14:45:02