У меня есть такой фрейм данных:
Hours work_place overtime
More than 48 hours Farm Overtime paid
Less than 48 horas Factory Overtime paid
More than 48 hours Office Overtime paid
Less than 48 horas Farm Overtime not paid
More than 48 hours Factory Overtime paid
Less than 48 horas Office Overtime paid
В отдельном процессе я создаю несколько объектов.процесс $ object1 выглядит следующим образом:
процесс $ object1
Dim1 Dim2 Dim3
More than 48 hours 0.05 0.33 0.96
Less than 48 horas -0.02 -0.16 -0.47
Farm 0.14 1.51 0.29
Factory -0.13 0.15 1.03
Office 0.01 2.05 -0.47
Home 0.00 -0.19 -0.14
Overtime paid 0.03 0.04 -0.09
Overtime not paid -0.26 -0.32 0.76
Я хотел бы заменить значения в исходном кадре данных значениями в столбце 1 (Dim1) процесса $ object1так что в итоге я получаю это ...
Hours2 work_place2 overtime2
0.05 0.14 0.03
-0.02 -0.13 0.03
0.05 0.01 0.03
-0.02 0.14 -0.26
0.05 -0.13 0.03
-0.02 0.01 0.03
Поскольку исходный фрейм данных довольно большой, я хотел бы сделать это с помощью некоторой функции в R. Любая помощь очень ценится.
Данные в формате dput()
.
dat <-
structure(list(Hours = c("More than 48 hours", "Less than 48 horas",
"More than 48 hours", "Less than 48 horas", "More than 48 hours",
"Less than 48 horas"), work_place = c("Farm", "Factory", "Office",
"Farm", "Factory", "Office"), overtime = c("Overtime paid", "Overtime paid",
"Overtime paid", "Overtime not paid", "Overtime paid", "Overtime paid"
)), row.names = c(NA, -6L), class = "data.frame")
process <-
list(object1 = structure(list(Dim1 = c(0.05, -0.02, 0.14, -0.13,
0.01, 0, 0.03, -0.26), Dim2 = c(0.33, -0.16, 1.51, 0.15, 2.05,
-0.19, 0.04, -0.32), Dim3 = c(0.96, -0.47, 0.29, 1.03, -0.47,
-0.14, -0.09, 0.76)), class = "data.frame", row.names = c("More than 48 hours",
"Less than 48 horas", "Farm", "Factory", "Office", "Home", "Overtime paid",
"Overtime not paid")))
result <-
structure(list(Hours2 = c(0.05, -0.02, 0.05, -0.02, 0.05, -0.02
), work_place2 = c(0.14, -0.13, 0.01, 0.14, -0.13, 0.01), overtime2 = c(0.03,
0.03, 0.03, -0.26, 0.03, 0.03)), class = "data.frame", row.names = c(NA,
-6L))