2009-03-18 34 views
7

Tôi có dữ liệu giống như thế này. Trong đó tôi muốn vẽ giá trị cộng dồn của dat1 với sự tôn trọng tới trục x. Ngoài ra âm mưu nó cùng với dat2.Lô tích lũy với Trục X được cung cấp

#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 

Cách phổ biến để thực hiện điều đó trong R là gì?

Tôi đã xem ECDF từ Hmisc, dường như không làm những gì tôi muốn. Cụ thể là nó không cho phép chúng tôi cung cấp giá trị trục x.

Trả lời

7

Tôi nghĩ rằng hàm bạn đang tìm kiếm là cumsum() sẽ thực hiện tổng tích lũy trên vectơ.

#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") 

Tôi sử dụng các điểm chức năng ở trên để thêm dat2 vào ô hiện có. Chạy nó trong R và xem nó có cung cấp cho bạn những gì bạn cần không.

3

Nếu bạn có dữ liệu đó trong một file văn bản (ví dụ data.txt), bạn cũng có thể làm như sau:

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

Như JD Long nói, hàm cumsum là những gì bạn đang tìm kiếm.

Các vấn đề liên quan