Со следующими двумя кадрами данных
> d1
keystr keynum
1 abc 5
2 def 2
3 def 7
4 abc 3
> d2
HD 2 3 5 7
1 abc H I J K
2 def L M N P
Я хотел бы вставить столбец d1$val, который использует строку в keystr
и число в keynum
в качестве индексов во фрейме данных d2
. Результат должен быть:
> d1
keystr keynum val
1 abc 5 J
2 def 2 L
3 def 7 P
4 abc 3 I
Это должно быть косвенное применение mapply. Как я могу сделать код ниже
d1 <- data.frame("keystr"=c("abc","def","def","abc"), "keynum"=c(5,2,7,3))
d2 <- data.frame("HD"=c("abc","def"),
"2"=c("H","L"), "3"=c("I","M"),
"5"=c("J","N"), "7"=c("K","P"))
d1$val <- mapply(function(kstr,knum) d2[kstr,knum],
d1$keystr, d1$keynum )
получить доступ к записям таким (косвенным) способом?
mapply
для получения решения. Просто подкорректируйте выбор строки и используйтеpaste0
для выбора столбца, чтобы найти решение. Посмотрите на мой ответ. - person MKR   schedule 06.04.2018