我有一个像这样的数据框
Type cat1
A NA
B NA
C NA
D Huvec,2_Weak_Promoter;NHLF,2_Weak_Promoter;NHEK,3_Poised_Promoter
E Huvec,2_Weak_Promoter;NHLF,2_Weak_Promoter
F HepG2,2_Weak_Promoter
G SK.MUS62,6_TssD2
我想要计算以下模式在column_cat1的每一行中重复的次数
字符串1,字符串;
,预期输出为
Type Count
A NA
B NA
C NA
D 3
E 2
F 1
G 1
我不知道如何在此使用正则表达式或str_split ..有人可以帮我解决..
由于 穆尔
答案 0 :(得分:3)
您可以使用stringr
包和str_count
,
library(stringr)
str_count(df$cat1, ',')
#[1] NA NA NA 3 2 1 1
答案 1 :(得分:0)
@sotos答案更清晰,但这是一个基本的R解决方案:
cat1 <- c(NA, NA, NA, "Huvec,2_Weak_Promoter;NHLF,2_Weak_Promoter;NHEK,3_Poised_Promoter",
"Huvec,2_Weak_Promoter;NHLF,2_Weak_Promoter", "HepG2,2_Weak_Promoter",
"SK.MUS62,6_TssD2")
myCount <- sapply(strsplit(cat1, split=";"), FUN=length)
这取决于每个条目用分号分隔的模式,&#34 ;;&#34;。