r - 如何使用 tidyr 将向量中字符串中的每个字符分成一列

标签 r tidyr

我想将向量中的每个字符串分成列,但我做不到!

library(tidyr)  
    library(dplyr)
    df <- data.frame(x = c("abe", "bas", "dds", "eer"))
    df %>% separate(x, c("A", "B", "C"), sep=1)

我想要的输出看起来像这样
  A B C
1 a b e
2 b a s
3 d d s
4 e e r

sep=1 对 2 个字符有效,但对 3 个字符无效。我希望像 sep="这样的正则表达式。"或 sep="[a-z]"也可以,但不行。

这可能非常简单,但我是 R 的新手。有人请帮忙!

最佳答案

你非常接近你自己的解决方案。只需为 sep 参数添加第二个位置。

所以:

library(tidyr)  
library(dplyr)
df <- data.frame(x = c("abe", "bas", "dds", "eer"))
df %>% separate(x, c("A", "B", "C"), sep = c(1,2))

  A B C
1 a b e
2 b a s
3 d d s
4 e e r

关于r - 如何使用 tidyr 将向量中字符串中的每个字符分成一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49887440/

相关文章:

r - 在 ggplot2 中用梯度和变化的图例特征标记线条

html - 使 Rmarkdown 中的 htmlwidgets 移动友好

r - 如何使用 R 的 xlsx 包对齐 XLSX 文件的单元格?

r - 使用键 - 值将元素列表拆分为多列

r - n() 在 summarise_at() 中使用时行为不一致

r - 在 R 中保存 str_which 循环的输出

r - Shiny App 和 Datacamp Light 之间的集成 - 免费代码

r - 如何根据列对每个项目进行排名?

r - 在 dplyr 或 tidyr 中执行类似于 rbind 的操作?

r - 基于多列进行拆分,然后在 R 中应用 spread()