reshape2包中melt函数:变长数据
示例1:默认melt参数
自己做一个宽数据:
melt之后的长数据,就是竖着排
这是非常直观,也非常标准的例子。因为只有name这一列是字符型charactor,其他三列是数值型numeric。使用melt直接融合时,在默认参数下,将name列作为分类id variables,其他的三列,每一列的列名展开,再跟数值。
1/安装,加载reshape2包包
install.packages("reshape2")
library(reshape2)
?reshape2#不行看不了
help(package=reshape2)#查看说明得这样看,难道是因为这是包中的一个函数,应该是
2/导入xlsx,赋值为report,用melt融合,融合后赋值
readWorkbook("D:/R/RData/report.xlsx")
report <- readWorkbook("D:/R/RData/report.xlsx")
melt(report)#Using name as id variables
report_melt <- melt(report)
3/用View查看一下,也是OK的
View(report)
View(report_melt)
4/保存输出为csv,*****fileEncoding = "GBK"避免中文输出乱码,非常关键, row.names = FALSE保存后不会多加一列行号码
write.csv(report_melt,file="D:/R/RData/report_melt3.csv",fileEncoding = "GBK")
write.csv(report_melt,file="D:/R/RData/report_melt4.csv",fileEncoding = "GBK",row.names = FALSE)
这篇帖子中有关于几种格式的介绍https://blog.csdn.net/qq_37859539/article/details/79857476