【问题标题】:Trying to fill in missing data with a specific year and to fill it in a sequence. [duplicate]尝试用特定年份填充缺失的数据并按顺序填充。 [复制]
【发布时间】:2018-12-23 11:53:06
【问题描述】:
rookie_1_team$year[1:5] <- "2018"
rookie_1_team$year[6:10] <- "2017"
rookie_1_team$year[11:15] <- "2016"
rookie_1_team$year[16:20] <- "2015"
rookie_1_team$year[21:25] <- "2014"

有没有办法在 for 循环或函数中编写它,而不是手动将它一直放到 2000 年。或者可能是应用?

所以这将是一个 5 序列,然后下降一年,然后进入下一年,如 2017 年。然后再次经历 5 填写 2017 年,然后再次下降到 2016 年。

任何提示或帮助都会很棒。对 R 来说还是很新的。

提前致谢。

【问题讨论】:

  • 您好,最好(最好)使用dput(head(mydata,20))向您的问题添加数据。
  • rookie_1_team$year[1:5] 是一个向量,即没有维度。阅读help("rownames&lt;-")
  • 如果 missing 条目是 NA,您可以使用 zoo::na.locf ,请参阅 stackoverflow.com/questions/7735647/… ,但我们无法从屏幕截图中判断是否是这种情况

标签: r dplyr


【解决方案1】:

试试这个:

 df <- data.frame(
   year=c("2018","","","","2017","",""),
   x=c(1:7))
 library(tidyverse)
 df %>% 
   mutate(year=as.numeric(as.character(year))) %>% 
   fill(year)
  year x
1 2018 1
2 2018 2
3 2018 3
4 2018 4
5 2017 5
6 2017 6
7 2017 7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 2020-10-28
    • 1970-01-01
    • 2017-12-06
    相关资源
    最近更新 更多