我知道R中有一个函数可以创建序列,但不能完全满足我的需求。
我有一个数据框架,每次运行代码时,其大小都会改变。这是我的数据框
pais cum_cases time_cases
MX 1 1
MX 4 2
MX 5 6
....
我想将cum_cases列的值替换为该值的两倍。示例我真的不在乎cum_Cases列中的值是什么,我想替换以特定值开头的双精度值。例如,如果我要以值** 10开头,则列的所有下一个值必须替换为
cum_cases
10
20
40
80
160
320
... Until the last row of my data frame
例子2. x-> 6
cum_cases
6
12
24
48
96
192
... Until the last row of my data frame
可以cumprod
与结合使用rep
以产生加倍序列。
(x$cum_cases <- 10 * cumprod(c(1, rep(2, nrow(x)-1))))
#[1] 10 20 40
(x$cum_cases <- 6 * cumprod(c(1, rep(2, nrow(x)-1))))
#[1] 6 12 24
数据:
x <- data.frame(pais="MX", cum_cases=c(1,4,5), time_cases=c(1,2,6))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句