楼主: 叶子婧
2185 13

[问答] 求问怎样用R语言将如下数据形式改变为需要的数据形式 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

高中生

40%

还不是VIP/贵宾

-

威望
0
论坛币
100 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
174 点
帖子
24
精华
0
在线时间
19 小时
注册时间
2016-8-1
最后登录
2017-8-27

楼主
叶子婧 发表于 2016-8-2 12:55:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
原始数据是这样:
站点  年 月日 值
52986 1951 1 1 31023
52986 1951 1 2 0
52986 1951 1 3 0
52986 1951 1 4 0
52986 1951 1 5 0
52996 1951 1 1 31001
52996 1951 1 2 0
52996 1951 1 3 0
52996 1951 1 4 0
52996 1951 1 5 0


转换为:年 月 日    52986   52996
             1951 1 1     31023  31001
             1951 1 2     0            0
             1951 1 3     0            0
             1951 1 4     0            0
             1951 1 5     0            0








二维码

扫码加我 拉你入群

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

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

关键词:数据形式 R语言 原始数据

沙发
zhou1_20 发表于 2016-8-2 13:59:23
是这样吗?
  1. data = read.table(file.choose(),stringsAsFactors = FALSE,sep=' ',header = FALSE)
  2. dat = data[-1,]
  3. names(dat) = c(as.character(data[1,]))

  4. library(reshape2)
  5. dcast(dat,年+月+日~站点,value.var = '值')
复制代码
捕获.PNG

藤椅
叶子婧 发表于 2016-8-2 14:14:33
zhou1_20 发表于 2016-8-2 13:59
是这样吗?
恩恩,结果就这这样的,我想问您一下,我安装reshape2的时候安装不上,reshape可以安装,可是这个reshape是不是不能运行您这个程序?

板凳
zhou1_20 发表于 2016-8-2 14:25:55
叶子婧 发表于 2016-8-2 14:14
恩恩,结果就这这样的,我想问您一下,我安装reshape2的时候安装不上,reshape可以安装,可是这个reshape ...
把你的R升级一下

报纸
叶子婧 发表于 2016-8-2 14:52:48
zhou1_20 发表于 2016-8-2 14:25
把你的R升级一下
恩恩,装成功了,可是在运行的时候出现这样的错误提示: 无标题.png
在我的文档中这一列是存在的呀:
无标题12.png

地板
zhou1_20 发表于 2016-8-2 15:18:28
叶子婧 发表于 2016-8-2 14:52
恩恩,装成功了,可是在运行的时候出现这样的错误提示:
在我的文档中这一列是存在的呀:
把 value 的单引号去掉试试

7
叶子婧 发表于 2016-8-2 15:22:27
zhou1_20 发表于 2016-8-2 15:18
把 value 的单引号去掉试试
去掉了以后还是不可以,对了,dcast括号里头的为什么是dat而不是data?

8
叶子婧 发表于 2016-8-2 15:42:22
station year mon day value
列名就是这样的
因为我发不了消息,所以只能这样艾特你

9
叶子婧 发表于 2016-8-2 15:47:17
zhou1_20 发表于 2016-8-2 15:18
把 value 的单引号去掉试试
station year mon day value
列名就是这样的
因为我发不了消息,所以只能这样回复你

10
zhou1_20 发表于 2016-8-2 16:08:38
  1. data = data.frame(station=rep(c(52986,52996),c(5,5)),
  2.                         year = rep('1951',10),
  3.                         mon = rep(1,10),
  4.                         day = rep(1:5,2),
  5.                         value =c(31023,rep(0,4),31001,rep(0,4)))
  6. library(reshape2)
  7. dcast(data,year+mon+day~station,value.var = 'value')
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 22:45