gpt4 book ai didi

r - 操作数据框列中的字符串

转载 作者:行者123 更新时间:2023-12-04 16:50:31 24 4
gpt4 key购买 nike

我有一个数据框

a = data.frame("a" = c("aaa|abbb", "bbb|aaa", "bbb|aaa|ccc"), "b" = c(1,2,3))

a b
aaa|abbb 1
bbb|aaa 2
bbb|aaa|ccc 3

我想用“|”分割列值并对输出进行排序并将它们合并在一起,看起来像这样
     a       b
aaa|abbb 1
aaa|bbb 2
|aaa|bbb|ccc 3

我尝试使用以下
paste(sort(ignore.case(unlist(strsplit(as.character(a$a), "\\|")))),collapse = ", ")

但这只是将所有内容结合在一起。如何在 A 列的每个值上实现它并将结果作为数据框。我尝试使用 lapply 但仍然得到相同的结果,一个组合列表。

最佳答案

我们可以使用 separate_rows拆分“a”中的值,然后按“b”分组,sort 'a' 和 paste元素在一起

library(tidyverse)
a %>%
separate_rows(a) %>%
group_by(b) %>%
summarise(a = paste(sort(a), collapse="|")) %>%
select(names(a))
# A tibble: 3 x 2
# a b
# <chr> <dbl>
#1 aaa|abbb 1
#2 aaa|bbb 2
#3 aaa|bbb|ccc 3

关于r - 操作数据框列中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55026518/

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