全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2714 8
2013-07-28
复制代码

str(t1)
'data.frame':   45846 obs. of  3 variables:
$ year: int  2008 2008 2008 2008 2008 2008 2008 2008 2008 2008 ...
$ Bdcd: int  112001 112001 112001 112001 112001 112001 112001 112001 112001 112001 ...
$ age : num  0.589 0.597 0.6 0.603 0.605 0.608 0.616 0.619 0.622 0.625 ...
> temp1<-melt(t1,id=c('year','Bdcd'))
> temp2<-cast(temp1,year+Bdcd~variable,mean,na.rm=T)
> str(temp2)
List of 3
$ year: int [1:618] 2007 2007 2008 2008 2008 2008 2008 2008 2008 2008 ...
$ Bdcd: int [1:618] 122000 122001 112001 112002 112003 112004 112005 112006 122000 122001 ...
$ age : num [1:618] 0.1569 0.0807 0.4268 0.3747 0.227 ...
- attr(*, "row.names")= int [1:618] 1 2 3 4 5 6 7 8 9 10 ...
- attr(*, "idvars")= chr [1:2] "year" "Bdcd"
- attr(*, "rdimnames")=List of 2
  ..$ :'data.frame':    618 obs. of  2 variables:
  .. ..$ year: int [1:618] 2007 2007 2008 2008 2008 2008 2008 2008 2008 2008 ...
  .. ..$ Bdcd: int [1:618] 122000 122001 112001 112002 112003 112004 112005 112006 122000 122001 ...
  ..$ :'data.frame':    1 obs. of  1 variable:
  .. ..$ variable: Factor w/ 1 level "age": 1
> fix(temp2)
> str(temp2)
'data.frame':   618 obs. of  3 variables:
$ year: num  2007 2007 2008 2008 2008 ...
$ Bdcd: num  122000 122001 112001 112002 112003 ...
$ age : num  0.1569 0.0807 0.4268 0.3747 0.227 ...
为什么fix前后temp2的结构会发生变化,cast函数有没有错?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-7-28 23:03:25
t1.txt
大小:(845.38 KB)

 马上下载



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-29 00:05:38
复制代码
咱这儿数据没问题,楼主的文件是csv或txt?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-29 09:35:56
ryusukekenji 发表于 2013-7-29 00:05
咱这儿数据没问题,楼主的文件是csv或txt?
复制代码

我的问题是fix(temp2)前后的str(temp2)结构不一样,
第一个str是:
str(temp2)
List of 3
$ year: int [1:618] 2007 2007 2008 2008 2008 2008 2008 2008 2008 2008 ...
$ Bdcd: int [1:618] 122000 122001 112001 112002 112003 112004 112005 112006 122000 122001 ...
$ age : num [1:618] 0.1569 0.0807 0.4268 0.3747 0.227 ...
- attr(*, "row.names")= int [1:618] 1 2 3 4 5 6 7 8 9 10 ...
- attr(*, "idvars")= chr [1:2] "year" "Bdcd"
- attr(*, "rdimnames")=List of 2
  ..$ :'data.frame':    618 obs. of  2 variables:
  .. ..$ year: int [1:618] 2007 2007 2008 2008 2008 2008 2008 2008 2008 2008 ...
  .. ..$ Bdcd: int [1:618] 122000 122001 112001 112002 112003 112004 112005 112006 122000 122001 ...
  ..$ :'data.frame':    1 obs. of  1 variable:
  .. ..$ variable: Factor w/ 1 level "age": 1
第二个str就变成了:
'data.frame':   618 obs. of  3 variables:
$ year: num  2007 2007 2008 2008 2008 ...
$ Bdcd: num  122000 122001 112001 112002 112003 ...
$ age : num  0.1569 0.0807 0.4268 0.3747 0.227 ...
我想要的temp2是第二个!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-29 10:05:38
求指导
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-7-29 22:38:19
童小军 发表于 2013-7-29 10:05
求指导
复制代码
嘻嘻,有没有留意到使用cast 函数呈现出的数据结果格式Class不一样...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群