R:使用另一列-1的值创建列

R: create column with the values of another column -1

我在 R 中有一个 table 包含 n 值。我想创建一个列 B,它具有另一列 A 的值,但将它们移动 "up" 1 行:

示例:

A    B
_    _
1    2
2    3
3    n
n    n

我知道 A 的第一项将在 B 列中删除,而且我想复制值 n 并将其移动到 B 的最后一个 "empty" 点(否则会是 0,因为我移动了所有值 "up")

dat <- data.frame(A = c(1, 2, 3, 4))
dat$B <- dat$A[c(2:length(dat$A), length(dat$A))]

应该可以。

您可以简单地将这些值替换为

table$B[1:n-1] <- table$A[2:n]
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