格式化函数输出为数据帧

时间:2021-02-12 00:10:57

标签: r dataframe tapply

我使用以下方法总结了 5 个不同年份中每个儒略日期的 TABR 测量值:

TABR_YearDay<-with(wsmr, tapply(TABR, list(Julian, Year),sum))

产生如下输出:

     2015 2016 2017 2018 2019
33    NA   NA   NA    2   NA
....

80    NA    1   NA   21   NA

81    NA   47   NA   25   NA

82    NA   12    1    9   NA

但我想将这些结果转换为一个包含 6 列 Julian + 2015-2019 的数据框。

我试过了:

TABR_Day<-as.data.frame(TABR_YearDay)

但这似乎并没有产生一个完全实现的 df:Julian 没有列,如果我想调用一个单独的变量,我必须在它周围使用引号:

hist(TABR_Day$"2017")

您能帮我将函数输出转换为具有 6 个可行列的数据框吗?

1 个答案:

答案 0 :(得分:0)

该列出现在结果的行名中。列名通常不以数字开头,我们可以在列名前加上 'Year' 以使其成为 'Year_2015' 等并构建最终数据框。

TABR_YearDay<-with(wsmr, tapply(TABR, list(Julian, Year),sum))
colnames(TABR_YearDay) <- paste0('Year_', colnames(TABR_YearDay))
TABR_Day <- data.frame(Julian = rownames(TABR_YearDay), TABR_YearDay)