我正在使用R,我有一列数据框,如下所示:
TAGS
1 7:150641969
2 7:150647969|7:150647970
3 7:150647569|7:150648198
4 7:150645682|7:150648198|7:150650975|7:150652286
我需要在此列中提供一个向量,其中包含列中|
分隔的每个值。它必须如下所示:
a<-c(7:150641969,7:150647969,7:150647970, 7:150647569,7:150648198,7:150645682,7:150648198,7:150650975,7:150652286)
我需要这个来检查列下面出现多少个唯一值(x:xxxxxxxxxxx)。 谢谢你的帮助。
答案 0 :(得分:1)
我们可以使用strsplit
a <- unlist(strsplit(x = df$TAGS, split = "\\|"))
a
#[1] "7:150641969" "7:150647969" "7:150647970" "7:150647569" "7:150648198" "7:150645682" "7:150648198" "7:150650975" "7:150652286"
数据强>
df <- structure(list(TAGS = c("7:150641969", "7:150647969|7:150647970",
"7:150647569|7:150648198", "7:150645682|7:150648198|7:150650975|7:150652286"
)), .Names = "TAGS", class = "data.frame", row.names = c(NA,
-4L))
答案 1 :(得分:0)
您可以使用strsplit
将字符串分隔为单个标记,然后使用unique
查找明显的标记。
TAGS = c("7:150641969", "7:150647969|7:150647970",
"7:150647569|7:150648198",
"7:150645682|7:150648198|7:150650975|7:150652286")
AllTags = unlist(strsplit(TAGS, "\\|"))
unique(AllTags)
[1] "7:150641969" "7:150647969" "7:150647970" "7:150647569" "7:150648198" "7:150645682" "7:150650975"
[8] "7:150652286"