从TSV文件中,我有两个表.
例如,
表1:V_ONE
readId | V_segment |
---|---|
abc | IGHV3-18-F(2695) |
ghi | IGHV3-9-F(2840) |
和
表2:V_Two
readId | V_segment |
---|---|
def | IGHV3-9-F(2714),IGHV3-12-F(2656) |
jkl | IGHV3-10-F(2666),IGHV3-18-F(2666) |
我需要创建另一个表,在该表中,对于这两个新表的列"V_Segment"中的每个唯一值,我将获得每个唯一值在TSV文件的列"V_Segment"中出现的次数的计数.
例如:
V_segment | Count |
---|---|
IGHV3-18-F | 3 |
IGHV3-9-F | 15 |
IGHV3-9-F,IGHV3-12-F | 4 |
IGHV3-10-F,IGHV3-18-F | 7 |
我试过这个代码:
df <- read_tsv('file.tsv') # tsv file with lots of columns
segmV <- data.frame(df$readId, df$V_Segment, stringsAsFactors = FALSE) # create a data frame with two columns of the tsv file
V_one <- segmV[!grepl(",", df$V_Segment),] # table 1
V_two <- segmV[grepl(",", df$V_Segment),] # table 2
v1 <- V_one %>%
group_by(V_one$V_Segment) %>%
mutate(Count = n_distinct(V_one$V_Segment))
但它不起作用,因为(为此)我需要忽略括号中的信息.
你能帮我个忙吗?
提前谢谢您!