我在R中有一个包含 n 值的表格。我想要创建一个 B 列,其中包含另一列 A 的值,但要移动它们" up" 1行:
示例:
A B
_ _
1 2
2 3
3 n
n n
我知道 A 的第一项将在 B 列中删除,而且我想复制值 n 并移动到最后"空" B 的位置(否则为0,因为我移动了所有值"向上")
答案 0 :(得分:2)
dat <- data.frame(A = c(1, 2, 3, 4))
dat$B <- dat$A[c(2:length(dat$A), length(dat$A))]
应该工作。
答案 1 :(得分:2)
df1$B <- with(df1,c(tail(A,-1),tail(A,1)))
示例数据:
df1 <- data.frame(A = c(1, 2, 3, 0))
输出:
#> df1
# A B
#1 1 2
#2 2 3
#3 3 0
#4 0 0
答案 2 :(得分:1)
您只需使用
替换值即可table$B[1:n-1] <- table$A[2:n]