使用for循环结合mutate()函数,使用WorldPhones数据集,确定R中每年使用的手机数量的增长。
我知道可能有更简洁的方法来获得这些信息,但这是实用的uni的一部分,我必须使用函数和循环。
在这里,我在加载数据集后从数据集设置数据框:
library(tidyverse)
WorldPhones <- datasets::WorldPhones
WorldPhones_df <- as.data.frame(WorldPhones)
WorldPhones_df <- WorldPhones_df %>%
mutate(Year = rownames(WorldPhones_df))
WorldPhones_df <- WorldPhones_df %>%
gather(key = "Region", value = "Phones", 1:7)
WorldPhones_df
WPSumByYear <- WorldPhones_df %>% group_by(Year) %>% summarise(sum(Phones))
到目前为止,一切都很顺利,但我正在努力将其放入一个for循环,该循环也使用mutate函数来按年测量增长。
我尝试的是:
growths <- c(0)
for (i in 2:length(sa_df$Year)){
growth <- (WPSumByYear$Phones[i-1]- WPSumByYear$Phones[i])
growths <- c(growths, growth)
}
任何建议赞赏!
1条答案
按热度按时间2ledvvac1#
你在找
lag
吗?