我正在学习R.
我已将一组数据库合并为一个。
Data <- smartbind(2014, 2015, 2016)
table(Data$year, useNA=c("always")
我选择了数字变量Data$x
并按数字Data$year
分组,如下所示
a <- tapply(Data$x, Data$year, summary)
,当我使用print(a)
c(1, 10, 4, 15, ...)
c(29, 2, 3, 7, ...)
c(2, 7, 4, 8,...)
这种形式的数组不适用于以下代码来提取和汇总来自第一和第三四分位数的信息,以及中位数
xdata <- as.data.frame(rbind(x2014 <- c(2014, a[["2014"]][["1st Qu."]],
a[["2014"]][["Median"]], a[["2014"]][["3rd Qu."]]),
x2015 <- c(2015, a["2015", "1st Qu."], a[["2015"]][["Median"]],
a[["2015"]][["3rd Qu."]]),
x2016 <- c(2016, a[["2016"]][["1st Qu."]], a[["2016"]][["Median"]],
a[["2016"]][["3rd Qu."]])`
colnames(losstroke) <- c("Year", "Q1", "Median", "Q3")
rm(a, x2014, x2015, x2016)`
我该如何解决?
我是否必须将数组a
转换为数据框?我怎么能这样做?