如何在 tidyverse 数据框中使用 strplit
how to use strplit in tidyverse dataframe
我在 R 中有一个包含多列的数据框。在一列中,我想使用 strsplit 提取部分字符串并将其放入另一列中。我有一个数据框,其中包含一个名为 IDName 的列,IDName 具有以下格式的字符串:
1-John
2-Tom
我想拆分字符串并将 ID 放在自己的列中,将名称放在自己的列中
InputDF%>% mutate(ID=strsplit(IDName, "-"))-> OutputDF
这并没有将ID放在ID列中,而是一个列表,如何使用上面的代码提取ID和Name?
我试过这个:
InputDF%>% mutate(ID=strsplit(IDName, "-")[[0]])-> OutputDF
但是我遇到了错误。
最好的方法是什么?
我们可以使用 tidyr
包中的 separate
函数:
library(dplyr)
library(tidyr)
df %>%
separate(x, c("ID", "name"), sep = '-')
输出:
ID name
<chr> <chr>
1 1 John
2 2 Tom
数据:
df <- tribble(
~x,
"1-John",
"2-Tom")
我在 R 中有一个包含多列的数据框。在一列中,我想使用 strsplit 提取部分字符串并将其放入另一列中。我有一个数据框,其中包含一个名为 IDName 的列,IDName 具有以下格式的字符串:
1-John
2-Tom
我想拆分字符串并将 ID 放在自己的列中,将名称放在自己的列中
InputDF%>% mutate(ID=strsplit(IDName, "-"))-> OutputDF
这并没有将ID放在ID列中,而是一个列表,如何使用上面的代码提取ID和Name?
我试过这个:
InputDF%>% mutate(ID=strsplit(IDName, "-")[[0]])-> OutputDF
但是我遇到了错误。
最好的方法是什么?
我们可以使用 tidyr
包中的 separate
函数:
library(dplyr)
library(tidyr)
df %>%
separate(x, c("ID", "name"), sep = '-')
输出:
ID name
<chr> <chr>
1 1 John
2 2 Tom
数据:
df <- tribble(
~x,
"1-John",
"2-Tom")