R соответствует именам строк из разных столбцов данных и заменяется на 1 (если совпадает) и 0 (если нет совпадения) - PullRequest
0 голосов
/ 22 марта 2012

У меня есть вопрос о сопоставлении столбцов и замените его на 1, если есть совпадение, и 0, если нет совпадения.У меня есть матрица с именами столбцов.Я хочу сопоставить ik с 3 другими столбцами данных и заменить в этой матрице, если это совпадение или нет.

Наконец-то я хочу создать эту матрицу:

   dataframe1 dataframe2 dataframe3
aaa    1     0     0
aab    0     1     0
aac    1     0     0
aad    0     1     1
aae    1     1     1

dataframe1 <- c("aaa","aac","aae") 
dataframe2 <- c("aab","aad","aae") 
dataframe3 <- c("aad","aae")

Может кто-нибудь помочь мне с этим?

1 Ответ

3 голосов
/ 22 марта 2012

Вот, пожалуйста:

df1 <- c("aaa","aac","aae")
df2 <- c("aab","aad","aae") 
df3 <- c("aad","aae", "x", "y")

dfs <- list(df1=df1, df2=df2)

zz <- sapply(dfs, function(x)df3 %in% x)
rownames(zz) <- df3
zz
      df1   df2
aad FALSE  TRUE
aae  TRUE  TRUE
x   FALSE FALSE
y   FALSE FALSE
...