示例:
import axios from 'axios';
export const FETCH_TESTS = 'FETCH_TESTS';
const ROOT_URL = 'http://some-working-api-entry.com';
export function fetchTests(){
const request = axios.get(`${ROOT_URL}/tests/?format=json`);
return {
type: FETCH_TESTS,
payload: request
}
}
我有另一个数据集。我可以肯定的是,我对其他数据集的观察结果是列名和列日期,范围从2000到2008。
因此,我正在寻找一个修改后的代码,它不仅可以计算每个月的中位数,还可以为2000-2008之间的所有缺失月份添加每个名称,并为它们返回NA值。
感谢您的帮助:)
答案 0 :(得分:3)
您可以使用tidyr::complete
确保在数据中包含2000 - 2008
的每个月。
解决方案可以是:
library(tidyverse)
library(lubridate)
df %>% mutate(Date = ymd(Date), C2 = C1*2) %>%
group_by(Name, YearMon = format(Date, "%Y-%m")) %>%
summarise_at(vars(starts_with("C")), median, na.rm=TRUE) %>%
complete(YearMon =
format(seq(ymd("2001-01-01"), ymd("2008-12-31"), by="1 month"),"%Y-%m")) %>%
as.data.frame()
# Name YearMon C1 C2
# 1 A 2001-01 NA NA
# 2 A 2001-02 NA NA
# 3 A 2001-03 NA NA
# 4 A 2001-04 NA NA
# 5 A 2001-05 NA NA
# .............
# .............
# 180 B 2007-12 NA NA
# 181 B 2008-01 4 8
# 182 B 2008-02 11 22
# 183 B 2008-03 13 26
# ............
# ..............