我有一個簡單的問題,但我想知道如何做:我有一個資料庫和兩個輸入資料(dmda和DTest):
df1 <- structure(
list(date = c("2021-06-23","2021-06-24","2021-06-30","2021-07-01"),
DTT= c("Hol","Hol","Hol",0),
Week= c("Wednesday","Thursday","Wednesday","Thursday"),
Category = c("ABC","FDE","ABC","FDE"),
DR01 = c(4,1,2,3), DR02= c(4,2,0,2),DR03= c(9,5,0,1),
DR04 = c(5,4,3,2),DR05 = c(5,4,0,2)),
class = "data.frame", row.names = c(NA, -4L))
dmda<-"2021-07-01"
DTest <-"0"
df2<-df1%>%
group_by(Category,Week, DTT) %>%
summarize(across(starts_with("DR"), median),.groups = 'drop')
> df2
# A tibble: 3 x 8
Category Week DTT DR01 DR02 DR03 DR04 DR05
<chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 ABC Wednesday Hol 3 2 4.5 4 2.5
2 FDE Thursday 0 3 2 1 2 2
3 FDE Thursday Hol 1 2 5 4 4
如果我想提出一個if條件,我可以這樣做:
if(any(df2$DTT == DTest & df2$Week == "Thursday" , na.rm = TRUE)) {
....
}
現在我懷疑是我不想使用df2$Week == "Thursday"而是使用dmda定義的。換句話說,從我在 中選擇的日期開始,有什么方法dmda可以讓代碼識別出星期幾?
uj5u.com熱心網友回復:
我們可以將“dmda”轉換為Date類并使用format( %A)提取作業日- 這在?strptime檔案中指定
%A - 當前語言環境中的完整作業日名稱。(還匹配輸入的縮寫名稱。)
wkday <- format(as.Date(dmda), "%A")
wkday
[1] "Thursday"
然后在if回圈中使用它
if(any(df2$DTT == DTest & df2$Week == wkday , na.rm = TRUE)) {
....
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/388778.html
標籤:r
上一篇:Appache駱駝Gzip壓縮
