如何在存储在 R 数据框列中的逗号分隔字符串中查找唯一值的数量?
如果我们有包含重复和唯一值的逗号分隔值,那么我们可能想要找到每个逗号分隔值中唯一值的数量。要查找存储在 R 数据框列中的逗号分隔字符串中的唯一值,我们可以使用 stringi 包的 stri_extract_all_regex 函数和 sapply 函数。
查看以下示例以了解如何完成。
示例 1
以下代码段创建了一个示例数据框 -
x<-sample(c("3,2,3,4,5,4,3","5,5,6,7,8,6,8","3,2","5,9,8,0"),20,replace=TRUE)df1<-data.frame(x)
df1
创建以下数据框 -
x1 5,5,6,7,8,6,8
2 5,9,8,0
3 5,9,8,0
4 3,2
5 5,5,6,7,8,6,8
6 3,2,3,4,5,4,3
7 3,2,3,4,5,4,3
8 3,2
9 3,2
10 5,5,6,7,8,6,8
11 3,2
12 5,5,6,7,8,6,8
13 5,5,6,7,8,6,8
14 3,2
15 5,5,6,7,8,6,8
16 5,9,8,0
17 5,5,6,7,8,6,8
18 3,2
19 3,2
20 5,9,8,0
要加载 stringi 包并找到 x 的每个值中唯一值的数量,请将以下代码添加到上述代码段中 -
library(stringi)输出结果df1$Unique_in_x<-sapply(stri_extract_all_regex(df1$x,"[0-9]+"),function(x) length(unique(x)))
df1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
x Unique_in_x1 5,5,6,7,8,6,8 4
2 5,9,8,0 4
3 5,9,8,0 4
4 3,2 2
5 5,5,6,7,8,6,8 4
6 3,2,3,4,5,4,3 4
7 3,2,3,4,5,4,3 4
8 3,2 2
9 3,2 2
10 5,5,6,7,8,6,8 4
11 3,2 2
12 5,5,6,7,8,6,8 4
13 5,5,6,7,8,6,8 4
14 3,2 2
15 5,5,6,7,8,6,8 4
16 5,9,8,0 4
17 5,5,6,7,8,6,8 4
18 3,2 2
19 3,2 2
20 5,9,8,0 4
示例 2
以下代码段创建了一个示例数据框 -
y<-sample(c("A,G,R,T,D","Y,I,H,H,F,E,L","T,W,E,E,E,D,S,R"),20,replace=TRUE)df2<-data.frame(y)
df2
创建以下数据框 -
y1 Y,I,H,H,F,E,L
2 A,G,R,T,D
3 Y,I,H,H,F,E,L
4 Y,I,H,H,F,E,L
5 A,G,R,T,D
6 Y,I,H,H,F,E,L
7 Y,I,H,H,F,E,L
8 A,G,R,T,D
9 A,G,R,T,D
10 A,G,R,T,D
11 Y,I,H,H,F,E,L
12 Y,I,H,H,F,E,L
13 T,W,E,E,E,D,S,R
14 Y,I,H,H,F,E,L
15 A,G,R,T,D
16 T,W,E,E,E,D,S,R
17 T,W,E,E,E,D,S,R
18 A,G,R,T,D
19 A,G,R,T,D
20 Y,I,H,H,F,E,L
要查找 y 的每个值中唯一值的数量,请将以下代码添加到上述代码段中 -
df2$Unique_in_y<-sapply(stri_extract_all_regex(df2$y,"[A-Z]+"),function(x) length(unique(x)))输出结果df2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
y Unique_in_y1 Y,I,H,H,F,E,L 6
2 A,G,R,T,D 5
3 Y,I,H,H,F,E,L 6
4 Y,I,H,H,F,E,L 6
5 A,G,R,T,D 5
6 Y,I,H,H,F,E,L 6
7 Y,I,H,H,F,E,L 6
8 A,G,R,T,D 5
9 A,G,R,T,D 5
10 A,G,R,T,D 5
11 Y,I,H,H,F,E,L 6
12 Y,I,H,H,F,E,L 6
13 T,W,E,E,E,D,S,R 6
14 Y,I,H,H,F,E,L 6
15 A,G,R,T,D 5
16 T,W,E,E,E,D,S,R 6
17 T,W,E,E,E,D,S,R 6
18 A,G,R,T,D 5
19 A,G,R,T,D 5
20 Y,I,H,H,F,E,L 6
以上是 如何在存储在 R 数据框列中的逗号分隔字符串中查找唯一值的数量? 的全部内容, 来源链接: utcz.com/z/341295.html