2017-06-23 25 views
0

Dears,我有空气温度数据,我需要用不平滑的曲线绘制三个选定年份的正态分布。我正在寻找的图与图2的here类似,其中我可以看到每条曲线(即噪音)的温度波动。绘制不明朗的正态分布r

这里是一个在线的数据和代码示例:

Cowtan<-read.table("http://www-users.york.ac.uk/~kdc3/papers/coverage2013/had4_krig_v2_0_0.txt", header=F) 
names(Cowtan)<-c("Year", "Temperature", "Uncertainty1", "Uncertainty2", "Uncertainty3") #Name the columns 

S1850s<-subset(Cowtan, Year<1860) #Get subsets of each decade 
S1950s<-subset(Cowtan, Year>=1950 & Year<1960) 
S2007<-subset(Cowtan, Year>=2007 & Year<2017) 
D1850s=density(S1850s$Temperature) #Get the density kernals 
D1950s<-density(S1950s$Temperature) 
D2007<-density(S2007$Temperature) 
plot(D1850s, main="Bell curve of temperatures during selected decades", xlab="Temperature anomalies (ºC)",xlim=c(-1.1,1.3), ylim=c(0,3), lwd=1.5) 
points(D2007, type="l",col="red", lwd=1.5) 
points(D1950s, type="l",col="blue", lwd=1.5) 
legend("topleft", legend=c("1850s", "1950s", "2007-2016"), col=c("black", "blue", "red"), lwd=2) 
+0

什么是“不平滑的正态分布”? – Roland

回答

1

如何只产生一个正态分布的点,并将它们添加到情节?

Cowtan<-read.table("http://www-users.york.ac.uk/~kdc3/papers/coverage2013/had4_krig_v2_0_0.txt", header=F) 
names(Cowtan)<-c("Year", "Temperature", "Uncertainty1", "Uncertainty2", "Uncertainty3") #Name the columns 

S1850s<-subset(Cowtan, Year<1860) #Get subsets of each decade 
S1950s<-subset(Cowtan, Year>=1950 & Year<1960) 
S2007<-subset(Cowtan, Year>=2007 & Year<2017) 
D1850s=density(S1850s$Temperature) #Get the density kernals 
D1950s<-density(S1950s$Temperature) 
D2007<-density(S2007$Temperature) 
plot(D1850s, main="Bell curve of temperatures during selected decades", xlab="Temperature anomalies (ºC)",xlim=c(-1.1,1.3), ylim=c(0,3), lwd=1.5) 
points(D2007, type="l",col="red", lwd=1.5) 
points(D1950s, type="l",col="blue", lwd=1.5) 

norm.dist <- rnorm(1000000, 0, 0.3) 
points(density(norm.dist), type = "l", col="green") 


legend("topleft", legend=c("1850s", "1950s", "2007-2016", "norm dist"), col=c("black", "blue", "red", "green"), lwd=2) 
+0

谢谢,但我不是在寻找这个。 – Moore

+0

你能解释我的解决方案有什么问题吗? – MikolajM

1

这里是在图2

set.seed(1) 
x <- rnorm(10000) 
plot(density(x, bw=0.01)) 

enter image description here

所示。如可以看到的“不平滑的曲线”类似的一个实例,我平滑带宽bw设置为一个非常小的值,以致密度图似乎“不平滑”。该图中的关键点在于大量观测的可用性。使用你的数据 最后的情节是这样的:

enter image description here

我希望这可以帮助你。

P.S.在上图中,我使用density函数中的kernel="epanechnikov"选项。