2つのデータセットdf1とdf2があります。df2で見つかった遺伝子名をdf1から削除するにはどうすればよいですか。
df1 <-
chr start end CNA Genes No.of.Gene
1 13991 1401 gain Cfh,Gm26048,Bhis,Sclm 2
1 14011 1490 gain Zfp788,Rik 2
df2 <-
Genes
Gm26048
Gif
Tl2
Rik
期待される出力
chr start end CNA Genes No.of.Gene
1 13991 1401 gain Cfh,Bhis,Sclm 2
1 14011 1490 gain Zfp788 2
使用できます、
df1$Genes <- sapply(strsplit(as.character(df1$Genes), ','), function(i)
setdiff(i, df2$Genes))
df1
# chr start end CNA Genes No.of.Gene
#1 1 13991 1401 gain Cfh 2
#2 1 14011 1490 gain Zfp788 2
編集
変更した後df1
、期待される結果を得るには
sapply(sapply(strsplit(as.character(df1$Genes), ','), function(i)
setdiff(i, df2$Genes)), paste, collapse = ',')
#[1] "Cfh,Bhis,Sclm" "Zfp788"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加