This question already has answers here:
Separate a column into multiple columns using tidyr::separate with sep=“”
(2个答案)
去年关闭。
我的数据示例如下:
我想将“ Var”列中的值分开以获取以下数据:
我尝试了以下代码:
我得到一个错误。我已进行搜索以找出错误,但失败了。
(2个答案)
去年关闭。
我的数据示例如下:
df1 <- read.table(text = "var Time
12O 12
13O 11
22B 45
33Z 22
21L 2
11M 13", header = TRUE)
我想将“ Var”列中的值分开以获取以下数据:
df2 <- read.table(text = " Group1 Group2 Group3
1 2 O
1 3 O
2 2 B
3 3 Z
2 1 L
1 1 M", header = TRUE)
我尝试了以下代码:
df2 <- df1 %>% separate(var, into = c('Group1', 'Group2','Group3'), sep = 1)
我得到一个错误。我已进行搜索以找出错误,但失败了。
最佳答案
如果要保留原始列,则可以使用str_split_fixed
包中的stringr
并将结果cbind
应用于现有的dataframe
cbind(df1, str_split_fixed(as.character(df1$var),"", n = 3))
var Time 1 2 3
1 12O 12 1 2 O
2 13O 11 1 3 O
3 22B 45 2 2 B
4 33Z 22 3 3 Z
5 21L 2 2 1 L
6 11M 13 1 1 M
关于r - 分离混合值并在tidyverse中生成新列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56612885/
10-09 03:43