首先感謝您查看這篇文章。我正在努力用 R 中的相應值格式化一些日期。我使用的資料集包括每月降雪量 (VALUE) 及其各自的年/月 (月)。
目前,我將它包含在一年中的所有月份,但我想將其限制為僅包含 10 月至 3 月。我正在library(dplyr)用來幫助清潔。目前,我有以下代碼:
snow <-
snoworig %>% pivot_longer(cols = c(JUL:JUN)) %>%
select(SEASON, name, value) %>%
rename(MONTH = "name", VALUE = "value") %>% tidyr::unite("month", 1:2, sep = " ")
運行時dput(head(snoworig,10)),我得到以下資訊:
structure(list(SEASON = c("1869-70", "1870-71", "1871-72", "1872-73",
"1873-74", "1874-75", "1875-76", "1876-77", "1877-78", "1878-79"
), JUL = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), AUG = c(0, 0, 0, 0,
0, 0, 0, 0, 0, 0), SEP = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), OCT = c(0,
0, 0, 0, 0, 0, 0, 0.5, 0, 0), NOV = c(0, 0, 0.3, 3.5, 2, 0, 0,
0.1, 0, 0.1), DEC = c(5.3, 3, 3.9, 27, 9.3, 10, 0.5, 12.4, 0,
5.5), JAN = c(1.1, 15.9, 1.8, 10.6, 6.6, 14.5, 1.5, 20.5, 6.1,
17.3), FEB = c(9.3, 12.1, 3, 18.8, 19, 4.5, 12.5, 0.4, 2, 11.3
), MAR = c(9.6, 0.1, 5.1, 0.4, 0, 15.3, 3.8, 6.5, 0, 1.5), APR = c(2.5,
2, 0, 0, 0, 13.5, 0, 0, 0, 0), MAY = c(0, 0, 0, 0, 0, 0, 0, 0,
0, 0), JUN = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), TOTAL = c(27.8,
33.1, 14.1, 60.3, 36.9, 57.8, 18.3, 40.4, 8.1, 35.7)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"))
就像我說的,我現在只想考慮 10 月至 3 月這幾個月。這是我目前擁有的代碼的簡單修復,還是我應該有興趣從頭開始(使用原始 excel 檔案中的資料)?
感謝所有幫助,如果您有其他問題,請告訴我。謝謝!
uj5u.com熱心網友回復:
base::grepl()這樣做很好 ( ?grepl):
snow %>%
filter(grepl("OCT|NOV|DEC|JAN|FEB|MAR", month))
# A tibble: 60 × 2
month VALUE
<chr> <dbl>
1 1869-70 OCT 0
2 1869-70 NOV 0
3 1869-70 DEC 5.3
4 1869-70 JAN 1.1
5 1869-70 FEB 9.3
6 1869-70 MAR 9.6
7 1870-71 OCT 0
8 1870-71 NOV 0
9 1870-71 DEC 3
10 1870-71 JAN 15.9
# … with 50 more rows
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/375156.html
標籤:r
