我知道R中有一个函数可以创建序列,但不能完全满足我的需求。
我有一个数据框架,每次运行代码时,其大小都会改变。这是我的数据框
pais cum_cases time_cases
MX 1 1
MX 4 2
MX 5 6
....
我想将列cum_cases的值替换为将值加倍的序列。例我真的不在乎列[
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
rowid - 1
的幂,因为该值每行都会加倍。用dplyr
执行此操作的方法是:df <- data.frame(time_cases = c(1, 2, 6, 10, 11, 15), cum_cases = 6)
library(dplyr)
df %>%
tibble::rowid_to_column() %>%
mutate(cum_cases = cum_cases[1] * 2 ^ (rowid - 1)) %>%
select(-rowid)
time_cases cum_cases
1 1 6
2 2 12
3 6 24
4 10 48
5 11 96
6 15 192
我先用rowid
创建一个tibble::rowid_to_column()
,然后再将其删除。