5139 5

[问答] 求助,怎么把三维数组转换为二维数据 [推广有奖]

  • 0关注
  • 0粉丝

高中生

70%

还不是VIP/贵宾

-

威望
0
论坛币
377 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3929 点
帖子
4
精华
0
在线时间
66 小时
注册时间
2016-3-19
最后登录
2022-7-26

30论坛币
1.png
就是把第一个图变成第二个图的形式 2.png

1.png (8.59 KB)

1.png

沙发
jgchen1966 发表于 2016-7-21 00:14:13 |只看作者 |坛友微信交流群
####以package:plyr中的三维数据ozone为例说明
###################
library(plyr)
library(tidyr)
data(ozone)
#####
adFun<-function(mx) {
   mxda<-as.data.frame(mx)
   mxda$lat<-rownames(mx)
   mxda<-gather(mxda,key=long,value=ozvalue,-lat)
   mxda
  }
####
myda<-adply(ozone,3,.fun=adFun)

myda<-transform(myda,time=as.character(time)

####

使用道具

藤椅
jgchen1966 发表于 2016-7-21 00:15:27 |只看作者 |坛友微信交流群
不好意思,上楼,最后一行,最右边少一个“)"

使用道具

板凳
jgchen1966 发表于 2016-7-21 00:19:50 |只看作者 |坛友微信交流群
str(ozone)
num [1:24, 1:24, 1:72] 260 258 258 254 252 252 250 248 248 248 ...
- attr(*, "dimnames")=List of 3
  ..$ lat : chr [1:24] "-21.2" "-18.7" "-16.2" "-13.7" ...
  ..$ long: chr [1:24] "-113.8" "-111.3" "-108.8" "-106.3" ...
  ..$ time: chr [1:72] "1" "2" "3" "4" ...

使用道具

报纸
jgchen1966 发表于 2016-7-21 00:20:10 |只看作者 |坛友微信交流群
str(myda)
'data.frame':   41472 obs. of  4 variables:
$ time   : chr  "1" "1" "1" "1" ...
$ lat    : chr  "-21.2" "-18.7" "-16.2" "-13.7" ...
$ long   : chr  "-113.8" "-113.8" "-113.8" "-113.8" ...
$ ozvalue: num  260 258 258 254 252 252 250 248 248 248 ...

使用道具

地板
令平子 学生认证  发表于 2022-10-12 20:27:39 |只看作者 |坛友微信交流群
第二个也不是二维数据结构,是一维数据结构
将三维数组转换为一维数据框:as.data.frame(as.table(jllMVA_FIN))

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-18 02:26