【发布时间】:2017-10-30 00:01:16
【问题描述】:
我有一个这样的数据框:
year <-c(floor(runif(100,min=2015, max=2017)))
month <- c(floor(runif(100, min=1, max=13)))
inch <- c(floor(runif(100, min=0, max=10)))
mm <- c(floor(runif(100, min=0, max=100)))
df = data.frame(year, month, inch, mm);
year month inch mm
2016 11 0 10
2015 9 3 34
2016 6 3 33
2015 8 0 77
我只关心year、month 和mm 列。
我需要重新排列数据框,使第一列是月份的名称,其余列是mm 的值。
Months 2015 2016
Jan # #
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
所以有两件事需要发生。
(1)月份需要变成月份前三个字母的字符串。
(2) 我需要按年份分组,然后将mm 值放在该年份下的一列中。
到目前为止,我有这个代码,但我无法弄清楚:
df %>%
select(-inch) %>%
group_by(month) %>%
summarize(mm = mm) %>%
ungroup()
【问题讨论】:
-
在基础 R 中,它是
xtabs(mm ~ month + year, data=df)