私はこれらの日付を持っています:
library(lubridate)
set.seed(50)
myDates <- ymd("2013-07-12") + days(sample(1:100, 20))
df <- data.frame(date=as.Date(myDates), value=sample(1:100, 20))
df[sample(1:20, 5, replace=F), "value"] <- NA
date value
1 2013-09-21 NA
2 2013-08-25 11
3 2013-08-01 NA
4 2013-09-25 96
5 2013-08-31 55
6 2013-07-17 27
7 2013-09-16 99
8 2013-09-11 66
9 2013-07-16 89
10 2013-07-22 37
11 2013-08-17 NA
12 2013-08-06 56
13 2013-09-07 NA
14 2013-07-19 39
15 2013-08-05 NA
16 2013-09-08 17
17 2013-10-20 54
18 2013-08-12 23
19 2013-10-07 71
20 2013-07-26 98
上記の日付範囲とその他の日付範囲を 4 つの部分に分割する関数を作成したいと考えています。4 つの部分は、日付範囲の第 1、第 2、第 3、および第 4 四分位数である必要があります。したがって、関数は最も早い日付と最も遅い日付を見つけて、の各要素をvalue
四分位数に割り当てる必要があります。上記のコードの日付範囲は次のとおりです。
range(df$date[!is.na(df$date)])
[1] "2013-07-16" "2013-10-20"
次に、各四分位数の NA 値の数を見つける関数が必要です。これはできますか?