gpt4 book ai didi

r - 将文本列转换为 r 中的向量

转载 作者:行者123 更新时间:2023-12-03 23:44:42 26 4
gpt4 key购买 nike

我想查看文本列是否包含“a”和“b”指定值之外的元素

specified_value=c("a","b")

df=data.frame(key=c(1,2,3,4),text=c("a,b,c","a,d","1,2","a,b")
df_out=data.frame(key=c(1,2,3),text=c("c","d","1,2",NA))
这是我尝试过的:
df=df%>%mutate(text_vector=strsplit(text, split=","), 
extra=text_vector[which(!text_vector %in% specified_value)])
但这不起作用,有什么建议吗?

最佳答案

我们可以通过分隔符 , 分割“文本”与 separate_rows , 按 'key' 分组,使用 setdiff 获取不在 'specified_value' 中的元素和 paste它们一起( toString ),然后进行连接以获取原始数据集中的其他列

library(dplyr) # >= 1.0.0
library(tidyr)
df %>%
separate_rows(text) %>%
group_by(key) %>%
summarise(extra = toString(setdiff(text, specified_value))) %>%
left_join(df) %>%
mutate(extra = na_if(extra, ""))
# A tibble: 4 x 3
# key extra text
# <dbl> <chr> <chr>
#1 1 c a,b,c
#2 2 d a,d
#3 3 1, 2 1,2
#4 4 <NA> a,b

关于r - 将文本列转换为 r 中的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63583837/

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