将表更改为不带空格的字符向量

时间:2019-02-19 14:50:43

标签: r dataframe vector character

让我们获得以下数据通知:

df <- data.frame(c("a", "c ","e "), c("b ", "d", "f "))
colnames(df) <- c("X1", "X2")
df
  X1 X2
1  a b 
2 c   d
3 e  f

如何将给定的data.frame转换为一个不带空格的字符向量?

#Expected result:
#vector
#[1]"abcdef"

5 个答案:

答案 0 :(得分:5)

R的另一个解决方案。

paste(trimws(as.vector(t(df))), collapse = "")
# [1] "abcdef"

答案 1 :(得分:3)

转置df,将其分解为矢量,修剪空间并将组件粘贴在一起:

paste(trimws(c(t(df))), collapse = "")
## [1] "abcdef"

答案 2 :(得分:3)

使用plot3Drgl删除不需要的空格的想法

gsub

答案 3 :(得分:3)

如注释中所述,t已经将df转换为矩阵,因此可以进行以下工作:

paste(trimws(t(df)), collapse = "")
# [1] "abcdef"

答案 4 :(得分:2)

使用paste删除前/后空格后,一个选项是trimws

paste(do.call(paste0, lapply(df, trimws)), collapse="")
#[1] "abcdef"

或使用tidyverse

library(tidyverse)
df %>% 
  mutate_all(str_squish) %>% 
  pmap_chr(paste, sep="") %>%
  paste(., collapse="")
#[1] "abcdef"