如何在索引的R函数中改变一列

x33g5p2x  于 2023-03-27  发布在  其他
关注(0)|答案(2)|浏览(79)

假设你有这样的数据:

a<- c(0.2, 0.3, 0.7, 0.9, 1)

我怎么能得到,自动一个新的列(B)具有相同的值(但一个文件位移)
为了得到:

b <- c(0, 0.2, 0.3, 0.7, 0.9)

在B中,第一个值是new(0),最后一个值“a”(1)丢失了,但是,我想获得(b)

4ngedf3f

4ngedf3f1#

可能来自dplyr包的lag

> dplyr::lag(a, default = 0)
[1] 0.0 0.2 0.3 0.7 0.9

shiftdata.table

> data.table::shift(a, fill = 0)
[1] 0.0 0.2 0.3 0.7 0.9
33qvvth1

33qvvth12#

你可以像这样添加0并删除vector的最后一个元素:

a<- c(0.2, 0.3, 0.7, 0.9, 1) 
b = c(0, a[-length(a)])
b
#> [1] 0.0 0.2 0.3 0.7 0.9

还有一个更短的选项@ThomasIsCoding(谢谢!):

a<- c(0.2, 0.3, 0.7, 0.9, 1) 
b = c(0, head(a, -1))
b
#> [1] 0.0 0.2 0.3 0.7 0.9

创建于2023-03-22带有reprex v2.0.2

相关问题