R:使用另一列的值创建列-1
Posted
技术标签:
【中文标题】R:使用另一列的值创建列-1【英文标题】:R: create column with the values of another column -1 【发布时间】:2016-09-26 04:12:38 【问题描述】:我在 R 中有一个包含 n 值的表。我想创建一个列 B,它具有另一列 A 的值,但将它们“向上”移动了 1 行:
例子:
A B
_ _
1 2
2 3
3 n
n n
我知道 A 的第一项将在列 B 中删除,并且我想复制值 n 并移动它到 B 的最后一个“空”点(否则为 0,因为我将所有值“向上”移动)
【问题讨论】:
与dplyr
、df %>% mutate(B = lead(df$A))
。如果你愿意,可以添加%>% tidyr::fill(B)
,尽管NA
似乎比"n"
更有用。
@Max 这已经在这里回答了***.com/questions/25995257/…
【参考方案1】:
dat <- data.frame(A = c(1, 2, 3, 4))
dat$B <- dat$A[c(2:length(dat$A), length(dat$A))]
应该可以。
【讨论】:
@lmo 谢谢,我看错了。假设他希望第一个值跳到最后。更新了答案。【参考方案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
【讨论】:
【参考方案3】:您可以简单地将值替换为
table$B[1:n-1] <- table$A[2:n]
【讨论】:
以上是关于R:使用另一列的值创建列-1的主要内容,如果未能解决你的问题,请参考以下文章