我的温度数据有我需要填写的缺失值,但是当我从新制作的缺失日期数据框中重新绑定新的日期值时,它最终出现在组合数据框的底部,乱序。我如何让 R 了解将它们筛选到它们所属的位置?
例子:
df1
2022-01-01
2022-01-02
2022-01-05
2022-01-06
df2
2022-01-03
2022-01-04
CombinedDf
2022-01-01
2022-01-02
2022-01-05
2022-01-06
2022-01-03
2022-01-04
但是 Combined 出了问题,这就是我想要的样子
CombinedDf
2022-01-01
2022-01-02
2022-01-03
2022-01-04
2022-01-05
2022-01-06
df 中还有其他值和其他事情,但这只是为了说明我的问题。
我将两个列都从字符转换为日期。
然后我使用 rbind 将两个单独的列组合成一个组合列。
几个选项。这是一些示例数据:
df1 <- data.frame(dates = as.Date(c("2022-01-01",
"2022-01-02",
"2022-01-05",
"2022-01-06")),
foo = c(1:4))
df2 <- data.frame(dates = as.Date(c("2022-01-03",
"2022-01-04")),
foo = c(5:6))
使用
rbind()
和order()
:
df3 <- rbind(df1, df2)
df3 <- df3[order(df3$dates, decreasing = FALSE),] # ascending
df3 <- df3[order(df3$dates, decreasing = TRUE),] # descending
从技术上讲,您不需要“减少 = FALSE”来获得您想要的结果,因为这是默认设置。
或者您可以使用
dplyr
包一步完成:
library(dplyr)
df3 <- bind_rows(df1, df2) %>%
arrange(dates) # ascending
df3 <- bind_rows(df1, df2) %>%
arrange(desc(dates)) # descending