Я, наверное, ужасно сформулировал этот вопрос, и я знаю, что есть действительно простое решение, но я ужасен во всем и не могу его найти, потому что мне не хватает слов, чтобы найти слова для этого материала, я заранее сожалею о том, что В любом случае, вот что я пытаюсь сделать.
X1 <- c(0,0,1,1,0)
X2 <- c(1,0,0,1,0)
X3 <- c(0,1,1,1,1)
lookup <- data.frame (X1, X2, X3)
#This above here creates a data frame with 5 rows and 3 columns with binary answers.
Match <- 1:(15)
P1 <- rep(1:5, each=3)
X1 <- rep(1:3,length.out=15)
X1 <- paste("X", X1, sep="")
Data <- data.frame(Match, X1, P1)
#This above creates a dataframe where it shows every possible match up of row and column for a total of 15 rows (5 people with 3 items).
Что я хочу сделать, это вытащить элемент из таблицы поиска в новый столбец, в котором показан результат сопоставления P1 и X1. Примерно так:
Data$Result <- lookup[1,'X3']
Вышеописанное работает так, как я хочу, но работает только для строк 1 и X3 (вопрос 3). Но когда я пытаюсь заменить эти вещи, чтобы изменить на строку, в зависимости от того, какие значения столбца, это просто беспорядок, возвращающий ноль или не результат вообще. Вот что я попробовал:
Data$Result <- lookup["P1","X1"] #this doesn't work
Data$Result <- lookup[Data$P1,Data$X1] #and this doesn't work
Data$Result <- lookup[P1,X1] #and this doesn't work
Я уверен, что есть очень простой ответ, и я просто очень глуп, было бы очень приятно, если бы кто-то мог помочь мне в этом.