使用示例数据框:
df <- structure(list(KY27SCH1 = c(4, 4, 4, 4, NA, 5, 2, 4, 4, NA, 4,
5, 3, 5, 5), KY27SCH2 = c(5, 4, 4, 4, NA, 4, 1, 4, 4, NA, 4,
5, 4, 5, 5), KY27SCH3 = c(4, 4, 5, 4, NA, 4, 4, 4, 5, NA, 5,
5, 3, 5, 5), KY27SCH4 = c(3, 5, 5, 4, NA, 5, 4, 5, 5, NA, 5,
5, 4, 5, 5)), .Names = c("KY27SCH1", "KY27SCH2", "KY27SCH3",
"KY27SCH4"), row.names = 197:211, class = "data.frame")
在将此新列绑定到原始数据框之前,我应用了一行代码将四个不同的列添加在一起:
KC27sc_R <- rowSums(df[, c("KY27SCH1", "KY27SCH2", "KY27SCH3", "KY27SCH4")], na.rm = TRUE)
df <- cbind(df, KC27sc_R) # Adds columns to survey dataframe
然后我想使用下面详述的结果表重新编码变量 KC27sc_R:
5= -4.287
6 = -3.040
7 = -2.405
8 = -1.960
9 = -1.605
10 = -1.296
11 = -1.011
12 = -0.735
13 = -0.456
14 = -0.168
15 = 0.134
16 = 0.454
17 = 0.796
18 = 1.166
19 = 1.574
20 = 2.035
21 = 2.582
22 = 3.299
23 = 4.594
即 KC27sc_R 列中的 5 将变为 -4.287。
有没有一种方法可以从数字列表中重新编码一列,而不必依次遍历每个数字?我通常使用重新编码功能,但我不确定如何使用大列表执行此操作。
任何帮助,将不胜感激。