楼主: 欧阳紫依
1271 3

[问答] R代码求助 [推广有奖]

  • 10关注
  • 0粉丝

讲师

13%

还不是VIP/贵宾

-

威望
0
论坛币
3804 个
通用积分
11.4836
学术水平
3 点
热心指数
3 点
信用等级
3 点
经验
4042 点
帖子
110
精华
0
在线时间
660 小时
注册时间
2014-5-24
最后登录
2024-3-4

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
library(maps)
library(sp)
library(fields)
library(foreign)

"%&%"<-function(x,y)paste(x,y,sep="")

setwd("G:/2018Spring/econometrics/data/replication/data")

data <- read.table("yield_piecewise.txt",header=TRUE)
d=data[is.na(data$dday0C_smooth2000)==F & data$longitude>(-100) & is.na(data$longitude[i])==F,]

tchg = d$tavg_smooth2000 - d$tavg_smooth1980
tchg_sd = tchg/d$tavg_sd
pchg = (d$prec_smooth2000 - d$prec_smooth1980)/d$prec_smooth1980


pdf(file="G:/2018Spring/econometrics/data/replication/output/Figure1.pdf",height=6,width=12)
#temperature first
layout(matrix(c(1,1,1,2,3,3,3,4,5,5,5,6),nrow=4,byrow=F))
par(mar=c(0,0,1,1))
map(database="state",xlim=c(-100,-67))
title(main="Temperature",cex.main=2)
vals=round(tchg*100)
colz=tim.colors(max(vals,na.rm=T)-min(vals,na.rm=T))
vals = vals+abs(min(vals,na.rm=T)) #recenter so they are positive
for (i in 1:dim(data)[1]) {
#  if (is.na(data$longitude[i])==F & data$longitude[i]>(-100) ) {
    points(data$longitude[i],data$latitude[i],col=colz[vals[i]],pch=19,cex=1.3) #}
}
map(database="state",add=T)
vals=round(tchg,3)
mx=max(tchg,na.rm=T)my
mn=min(tchg,na.rm=T)
lng=(mx-mn)/302.54*
rg=seq(mn,mx,lng)
colz=tim.colors(length(rg))
par(mar=c(4,5,0,5))
hist(tchg,breaks=rg,col=colz,xlab="tobservations emp change (C)",main="",yaxt="n",ylab="",cex.axis=1.5,cex.lab=1.5)

#precip
toplot = pchg*100
toplot[toplot<(-50)]=-50
toplot[toplot>45]=45
map(database="state",xlim=c(-100,-67))
title(main="Precipitation",cex.main=2)
vals=round(toplot)
colz=rev(tim.colors(max(vals,na.rm=T)-min(vals,na.rm=T)))
vals = vals+abs(min(vals,na.rm=T)) #recenter so they are positive
for (i in 1:dim(data)[1]) {
  if (is.na(data$longitude[i])==F & data$longitude[i]>(-100) ) {
    points(data$longitude[i],data$latitude[i],col=colz[vals[i]],pch=19,cex=1.3)}
}
map(database="state",add=T)
vals=round(toplot,3)
mx=max(toplot,na.rm=T)
mn=min(toplot,na.rm=T)
lng=(mx-mn)/30
rg=seq(mn,mx,lng)
colz=rev(tim.colors(length(rg)))
par(mar=c(4,5,0,5))
hist(toplot,breaks=rg,col=colz,xlab="precip change (%)",main="",yaxt="n",ylab="",cex.axis=1.5,cex.lab=1.5)

#cornyield
ychg = log(data$cornyield_smooth2000) - log(data$cornyield_smooth1980)
map(database="state",xlim=c(-100,-67))
title(main="Corn yield",cex.main=2)
ychg[ychg<(-0.5)]=-0.5  #censor bottom at -0.5 to make plot prettier
vals=round(ychg*100)
colz=tim.colors(max(vals,na.rm=T)-min(vals,na.rm=T))
vals = vals+abs(min(vals,na.rm=T)) #recenter so they are positive
vals=max(vals,na.rm=T) - vals
for (i in 1:dim(data)[1]) {
  if (is.na(data$longitude[i])==F & data$longitude[i]>(-100) ) {
    points(data$longitude[i],data$latitude[i],col=colz[vals[i]],pch=19,cex=1.3)}
}
map(database="state",add=T)
vals=round(ychg,3)
mx=max(ychg,na.rm=T)
mn=min(ychg,na.rm=T)
lng=(mx-mn)/30
rg=seq(mn,mx,lng)
colz=rev(tim.colors(length(rg)))
par(mar=c(4,5,0,5))
hist(ychg,breaks=rg,col=colz,xlab="change in yield (log)",main="",yaxt="n",ylab="",cex.axis=1.5,cex.lab=1.5)
二维码

扫码加我 拉你入群

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

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

关键词:R代码 observations observation longitude database

沙发
hifinecon 发表于 2018-6-18 17:19:05 |只看作者 |坛友微信交流群
此帖仅作者可见

使用道具

藤椅
欧阳紫依 发表于 2018-6-18 21:58:47 |只看作者 |坛友微信交流群

R代码错误 Error in matrix,有10论坛币回报!

此帖仅作者可见

使用道具

板凳
欧阳紫依 发表于 2018-6-18 22:00:15 |只看作者 |坛友微信交流群
此帖仅作者可见

使用道具

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

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

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

GMT+8, 2024-4-25 12:38