Inputdf<-structure(list(df1 = structure(c(4L, 5L, 2L, 1L, 3L), .Label = c("P61160,P61158,O15143,O15144,O15145,P59998,O15511",
"P78537,Q6QNY1,Q6QNY0", "Q06323,Q9UL46", "Q92793,Q09472,Q9Y6Q9,Q92831",
"Q92828,Q13227,O15379,O75376,O60907,Q9BZK7"), class = "factor"),
df2 = structure(c(3L, 2L, 5L, 4L, 1L), .Label = c("", "P61158,O15143,O15144",
"Q06323,Q9UL46", "Q6QNY0", "Q92828"), class = "factor"),
df3 = structure(c(5L, 4L, 3L, 2L, 1L), .Label = c("", "O15511",
"Q06323,Q9UL46", "Q6QNY0", "Q92793,Q09472"), class = "factor")), .Names = c("df1",
"df2", "df3"), class = "data.frame", row.names = c(NA, -5L))
私は
df1
例については、このデータで同様の文字列を検索しようとしていますのような3列のデータを持って、私はQ92793,Q09472,Q9Y6Q9,Q92831
を持っている最初の行を持っています はその後、私はDF2およびDF3を見て、これらのメンバーのいずれかがそこにあるかどうかを確認し、この例では、私は次のようなデータを作る
df1 df2 df3 Numberdf1 df2 df3
1 0 1 4 0 Q92793,Q09472
df1 1はdf1の最初の行を意味します df2 0は類似性を持たないことを意味します df3 1はdf3の最初の行がdf1行1と類似していることを意味します Numberdf1、,
で区切られた文字列の数です。 DF3がここ
以下の機能がありません
out<- structure(list(df1 = 1:5, df2 = c(0L, 3L, 4L, 2L, 1L), df3 = c(1L,
0L, 2L, 4L, 3L), Numberdf1 = c(4L, 6L, 2L, 7L, 2L), df2.1 = structure(c(1L,
5L, 4L, 2L, 3L), .Label = c("0", "P61158,O15143,O15144", "Q06323,Q9UL46",
"Q6QNY0", "Q92828"), class = "factor"), df3.1 = structure(c(5L,
1L, 4L, 2L, 3L), .Label = c("0", "O15511", "Q06323,Q9UL46", "Q6QNY0",
"Q92793,Q09472"), class = "factor")), .Names = c("df1", "df2",
"df3", "Numberdf1", "df2.1", "df3.1"), class = "data.frame", row.names = c(NA,
-5L))
以下のような欲求の出力が見えるに類似していた文字列を貼り付けQ92793、Q09472あるDF2どのような文字列のアコードがなかったので、4 DF2は0でありますたとえば、このデータを入力として使用しないでください
Inputdf1<- structure(list(df1 = structure(c(2L, 3L, 1L), .Label = c("Q06323,Q9UL46",
"Q92793,Q09472,Q9Y6Q9,Q92831", "Q92828,Q13227,O15379,O75376,O60907,Q9BZK7"
), class = "factor"), df2 = structure(1:3, .Label = c("P25788,P25789",
"Q92828, O60907, O75376", "Q9UL46, Q06323"), class = "factor"),
df3 = structure(c(2L, 1L, 3L), .Label = c("Q92831, Q92793, Q09472",
"Q9BZK7, Q92828, O75376, O60907", "Q9UL46, Q06323"), class = "factor")), .Names = c("df1",
"df2", "df3"), class = "data.frame", row.names = c(NA, -3L))
を占め
EDIT
バージョンは 'out'をチェックしてもらえますか?これらの値は正しいですか? 2行目の 'out'では、' df2'の値が 'P61158、O15143、O15144'で最後の行の場合と同様にdf2.1を' Q92828'としました – akrun
@akrun df1の行が重要ですdf2の2行目または3行目または10行目と似ている可能性があります。その場合、df1の2番目の行にはdf2の3番目の行に同様の文字列があります。それは今明らかですか? – nik