У меня есть два фрейма данных с одинаковым количеством строк.Фрагмент
df1 <- data.frame(X1 = c('3', '2', '1'), X2 = c('1,2', '1,3', '1'))
df1
X1 X2
1 3 1,2
2 2 1,3
3 1 1
df2 <- data.frame(X1_1 = c(3, 2, 1), X1_2 = c(1, 1, 2), X1_3 = c(2, 3, 3), X2_1 = c(1, 1, 1), X2_2 = c(2, 3, 3), X2_3 = c(3, 2, 2))
df2
X1_1 X1_2 X1_3 X2_1 X2_2 X2_3
1 3 1 2 1 2 3
2 2 1 3 1 3 2
3 1 2 3 1 3 2
df1
хранит номера столбцов df2
, из которых мне нужно взять элементы.df1$X1
- это df2$X1_
-й столбец в подмножестве X1_...
из df2
.df1$X2
- это df2$X2_
-й столбец в подмножестве X2_...
из df2
и так далее.Взяв первую строку в моем примере: df$X1 = 3
, поэтому мне нужно взять элемент из df2$X1_3
(3-й столбец).Этот элемент равен 2. Затем df1$X2 = 1,2
, и мне нужно взять два элемента, первый из df2$X2_1
и второй из df2$X2_2
.Это 1 и 2. Все полученные элементы для первой строки мне нужно сохранить как один вектор в первом элементе нужного списка и т. Д. Для каждой строки.
Другими словами, для фрагмента выше мне нуженlist
[[1]]
[1] 2 1 2
[[2]]
[1] 1 1 2
[[3]]
[1] 1 1
df1
состоит из символьных переменных.
Как создать этот список элементов в R?