【发布时间】:2014-12-03 12:13:23
【问题描述】:
我正在尝试将下面嵌套数据框中的两个 ID 列重命名为数字字符。我试过用下面的代码来做:
原始数据框是A:
x_1 <- c("A1", "A1","A1", "B10", "B10", "B10","B10", "B500", "C100", "C100", "C100", "D40", "G100", "G100")
y_1 <- c(rep("M", 8), rep("O", 6))
z_1 <- c(1.1, 1.4, 1.6, -1.0, -2.2, 3, 2.3, 2.0, -3.4, -4.1, 2, 2, 2.4, -3.5)
A <- data.frame(x_1, z_1, y_1)
想要的数据框是B:
y_3 <- factor(A$x_1, levels = unique(A$x_1), labels = 1:length(unique(A$x_1)))
y_4 <- factor(A$y_1, levels = unique(A$y_1), labels = 1:length(unique(A$y_1)))
B <- data.frame(y_3, z_1, y_4)
我只是想知道是否有人知道其他更简单或更有效的方法——也许使用 R 中的其他包。我的原始数据非常大,效率在这里至关重要。此外,我还没有完全想出将y_1 重命名为除 1s 和 2s 之外的其他变量的方法(例如,我希望将 "M" 更改为 100 并将 "O" 更改为 101 而不是 1s和 2s)。
谢谢
【问题讨论】: