gpt4 book ai didi

r - 将一列中的多个值拆分为多行 R

转载 作者:行者123 更新时间:2023-12-03 14:41:14 32 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Split comma-separated strings in a column into separate rows

(6 个回答)


3年前关闭。




我有一个数据框,其中大部分是每行一个观察值。但是,有些行有多个值:

# A tibble: 3 x 2
`number` abilities
<dbl> <chr>
1 51 b1261
2 57 d710
3 57 b1301; d550

structure(list(`number` = c(51, 57, 57), abilities = c("b1261",
"d710", "b1301; d550")), .Names = c("number", "abilities"
), row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"
))

我想得到以下内容:
# A tibble: 3 x 2
`number` abilities
<dbl> <chr>
1 51 b1261
2 57 d710
3 57 d550
4 57 b1301

在 ; 上拆分足够直截了当但我不确定如何轻松添加新行,尤其是在能力可能包含超过 2 个值的情况下。

这非常类似于: R semicolon delimited a column into rows但不需要删除重复项

最佳答案

有函数separate_rowstidyr这样做:

library(tidyr)
## The ";\\s+" means that the separator is a ";" followed by one or more spaces
separate_rows(df,abilities,sep=";\\s+")
number abilities
<dbl> <chr>
1 51 b1261
2 57 d710
3 57 b1301
4 57 d550

关于r - 将一列中的多个值拆分为多行 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44401023/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com