2009-03-18 18 views
7

私はこのようなデータを持っています。 x軸に のdat1の累積値をプロットしたいのですが。また、それをdat2と一緒にプロットします。与えられたX軸の累積プロット

#x-axis dat1    dat2 
-10  0.0140149  0.0140146 
-9  0.00890835  0.00891768 
-8  0.00672276  0.00672488 
-7  0.00876399  0.00879401 
-6  0.00806879  0.00808141 
-5  0.0088366  0.00885121 
-4  0.00856872  0.00857769 
-3  0.0195384  0.0196094 
-2  0.0160239  0.0161829 
-1  0.0254455  0.0257845 
0  0.0397413  0.0400913 
1  0.0743316  0.0755453 
2  0.0247501  0.0253324 
3  0.0214285  0.021778 
4  0.0241462  0.0244967 
5  0.0150943  0.015241 
6  0.0141398  0.0142373 
7  0.0101515  0.0102948 
8  0.0308843  0.031294 
9  0.0095504  0.00960626 
10  0.00729676  0.0073713 

Rでこれを行う一般的な方法は何ですか?

私はHmiscのECDFを見ましたが、私がしたいことをしていないようです。 特に、x軸の値を与えることはできません。

答えて

7

私が探している機能はcumsum()で、これはベクトルの累積合計です。

#put your data into 3 vectors 
x<-c(-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10) 
dat1<-c(0.0140149,0.00890835,0.00672276,0.00876399,0.00806879,0.0088366,0.00856872,0.0195384,0.0160239,0.0254455,0.0397413,0.0743316,0.0247501,0.0214285,0.0241462,0.0150943,0.0141398,0.0101515,0.0308843,0.0095504,0.00729676) 
dat2<-c(0.014015,0.008918,0.006725,0.008794,0.008081,0.008851,0.008578,0.019609,0.016183,0.025785,0.040091,0.075545,0.025332,0.021778,0.024497,0.015241,0.014237,0.010295,0.031294,0.009606,0.007371) 

#create a new vector called cdat1 to hold the cumulative sum 
cdat1<-cumsum(dat1) 
plot(x,cdat1) 
points(x,dat2,col="red") 

dat2を既存のプロットに追加するために上記の関数点を使用します。これをRで実行し、必要なものが得られるかどうかを確認します。

3

テキストファイル内のデータ(例えばdata.txtを)を使用すると、また次の操作を行うことができることがある場合:JDロングが言ったように

A <- read.table("data.txt",header=TRUE) 
attach(A) 
plot(x.axis, cumsum(dat1)) 
points(x.axis, cumsum(dat2), col='red') 

は、CUMSUM機能は、あなたが探していたものです。