week4reshape包
来源:互联网 发布:淘宝企业店铺要报税吗 编辑:程序博客网 时间:2024/04/30 12:03
reshape包(转载自r实战)
reshape
包是一套重构和整合数据集的绝妙的万能工具。由于它的这种万能特性,可能学
起来会有一点难度。我们将慢慢地梳理整个过程,并使用一个小型数据集作为示例,这样每一步
发生了什么就很清晰了。由于reshape
包并未包含在R的标准安装中,在第一次使用它之前需要
使用install.packages(“reshape”)进行安装。
大致说来,你需要首先将数据“融合”(melt)
,以使每一行都是一个唯一的标识符—变量组
合。然后将数据“重铸”(cast)
为你想要的任何形状。在重铸过程中,你可以使用任何函数对数
据进行整合。将使用的数据集如表所示。
在这个数据集中,测量measurement
是指最后两列中的值(5、6、3、5、6、1、2、4)。每
个测量都能够被标识符变量(在本例中,标识符是指ID
、Time
以及观测属于X1
还是X2
)唯一地确
定。举例来说,在知道ID
为1、Time
为1,以及属于变量X1之后,即可确定测量值为第一行中的5。
melt融合
数据集的融合是将它重构为这样一种格式:每个测量变量独占一行,行中带有要唯一确定这
个测量所需的标识符变量。要融合表中的数据,可使用以下代码:
library(reshape)md <- melt(mydata, id=(c("id", "time")))
2. cast() 重铸
cast()
函数读取已融合的数据,并使用你提供的公式和一个(可选的)用于整合数据的函
数将其重塑。调用格式为:
newdata <- cast(md, formula, FUN)
其中的md
为已融合的数据,formula
描述了想要的最后结果,而FUN
是(可选的)数据整合函数。
其接受的公式.
在这一公式中,rowvar1+ rowvar2+ ...
定义了要划掉的变量集合,以确定各行的内容,
而colvar1+ colvar2+ ...
则定义了要划掉的、确定各列内容的变量集合。参见图5-1中的
示例。
reshape包例子
library(reshape2)dstats<-function(x)(c(n=length(x), mean=mean(x), sd=sd(x)))# measure.vars 欲分类计算的变量名# id.vars 变量 dfm<-melt(mtcars, measure.vars=c("mpg", "hp", "wt"),id.vars=c("am", "cyl"))dcast(dfm, am + cyl + variable ~., dstats)
> head(dfm) am cyl variable value1 1 6 mpg 21.02 1 6 mpg 21.03 1 4 mpg 22.84 0 6 mpg 21.45 0 8 mpg 18.76 0 6 mpg 18.1> cast(dfm, am + cyl + variable ~., dstats) am cyl variable n mean sd1 0 4 mpg 3 22.900000 1.45258392 0 4 hp 3 84.666667 19.65536403 0 4 wt 3 2.935000 0.40752304 0 6 mpg 4 19.125000 1.63171695 0 6 hp 4 115.250000 9.17877996 0 6 wt 4 3.388750 0.11621647 0 8 mpg 12 15.050000 2.77439598 0 8 hp 12 194.166667 33.35983799 0 8 wt 12 4.104083 0.7683069
- week4reshape包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- 包
- jadClipse 反编译插件安装
- Linux系统调用的“三层皮”:API,中断服务程序,内核服务程序
- Why does the C# compiler translate this != comparison as if it were a > comparison?
- iw 新增一个interface scan
- 使用Super Animation Converter导致的贴图错误
- week4reshape包
- java swing程序打包成可执行jar文件(含第三方jar包)
- vbnet 句柄解决创建大于分辨率的窗体
- HashMap、HashSet、ArrayList实现机制
- WCF配置文件
- ******************* 文件的写入和读取 *******************
- 中断详解(四) ——异常与异常处理
- 算法导论 - 快速排序的 C 语言实现
- ubuntu使用python setup.py install出现No module named setuptools