我有3 data.table
與在列的其餘部分第一列和數字平日。 在第一DT(DT1)
,它有7行和每一列上的數字數據的n
列(n>2
)。其餘DT (DT2, DT3)
有7行2列有一個數字列。如何通過條件(無循環)替換data.table中的元素?
我想用DT3
中的元素代替DT2
中每個列中的元素(除了Weekdays列),其中元素在DT3
中具有相同的工作日。
x = c(8.38877450980392, 7.94021071115013, 7.95032679738562, 7.44576124567474,
8.83645276292335)
y = c(83.8877450980392, 79.4021071115013, 79.5032679738562, 74.4576124567474,
88.3645276292335)
DT1 = data.table(WeekDay = c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), a = abs(rnorm(7)*100), b = abs(rnorm(7)*100), c = abs(rnorm(7)*100), d = abs(rnorm(7)*100))
DT2 = data.table(WeekDay = c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), criteria = x)
DT3 = data.table(WeekDay = c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), Replace_Value = y)
有沒有辦法做到沒有循環? 請僅使用base R? 謝謝。
答:你的例子是不可重現的; x,y有5個元素,你的星期有7個。B.爲什麼不合並data.tables – shadow
這是我可恥的錯誤。我打算用7個元素創建x,y。謝謝^^。 – Phongsakorn