假设你有这样的数据:
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)
4ngedf3f1#
可能来自dplyr包的lag
dplyr
lag
> dplyr::lag(a, default = 0) [1] 0.0 0.2 0.3 0.7 0.9
或shift从data.table
shift
data.table
> data.table::shift(a, fill = 0) [1] 0.0 0.2 0.3 0.7 0.9
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
2条答案
按热度按时间4ngedf3f1#
可能来自
dplyr
包的lag
或
shift
从data.table
33qvvth12#
你可以像这样添加0并删除vector的最后一个元素:
还有一个更短的选项@ThomasIsCoding(谢谢!):
创建于2023-03-22带有reprex v2.0.2