Re: [R] summing up and cut off with looping
Hi Brent; I do appreciate for your helps and advice. I already registered online to learn R. Today my second day. I think I could not explain my problem precisely. I have two file called A and B. A has to columns say posA and posB the values of the first row in A are 1 and 9, and the values of the second row in A 2 and 7. In file B however I have pos, a, b,c columns, for example. pos a b c The first row of B 4 0.4 0.80the second column of the B 2 0.1 0.40 The third column of B 13 0.5 0.32 So I would like to sum up the B$a column and cut off at 0.7 for the each row of intervals giving in file=A. Once again thanks so much. regards, Oslo Here are my codes #sorting B$possort=B[order(B$pos),] #Running loop for(i in 1:nrow(A)) {if(sum(B[a$B, i:A[1:2])>0.7) {print(A[1:i,]) } } On Friday, June 10, 2016 3:44 PM, Bert Gunterwrote: 1. Please read the posting guide (link below) to learn how to post understandable questions -- at least I was not able to understand. In particular, post in plain text, not html, which tends to get mangled as seemed to occur here. 2. Your first stop in learning R should be one of the many fine tutorials available on the web or even the "Intro to R" tutorial that ships with R. In particular, indexing in R using logical expressions appears relevant to your query. Here is an example of what can be done along the lines that I think you asked about -- hope it helps. Apologies if I have misunderstood. See also ?subset and ?cumsum . > set.seed(1021) > y <- runif(10) > y [1] 0.36751828 0.08721951 0.08899027 0.38838635 0.1978 0.72948251 [7] 0.36669151 0.28457792 0.90614056 0.31832515 > y[cumsum(y) < 1.2] [1] 0.36751828 0.08721951 0.08899027 0.38838635 Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Fri, Jun 10, 2016 at 12:27 PM, oslo via R-help wrote: > Hi all; > I am quite new in R. I have tried write a loop to sum up a column and cut off > when summation reach certain point. Here are a small example and my R codes. > Your helps are truly appreciated, > Oslo > file=AposA posB1 92 75 124 79 13. . . . > File=Bpos a b c 4 .4 7 .82 .1 5 .47 .5 8 .321 .4 1 .113 .1 > 6 .1312 .2 11 .019 .3 12 .23. . . .. . . . > I would like to sum up the B$a column and cut off at 0.7 for the each row of > intervals giving in file=A.For example the interval at the first row in > A$posA and A$posB is 1 and 9. So, I need adding up the B$a and cut off B$a>.7 > from the 1 to 9 in B$pos. And then I need to the same using the intervals in > the second, third. rows in A. Obviously my loop is wrong and does not > work properly. Please help for my this first experience. Thanks. > Here are my codes > #sorting B$possort=B[order(B$pos),] > #Running loop > for(i in 1:nrow(A)) {if(sum(B[a$B, i:A[1:2])>0.7) {print(A[1:i,]) } } > > [[alternative HTML version deleted]] > > __ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. [[alternative HTML version deleted]] __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] summing up and cut off with looping
1. Please read the posting guide (link below) to learn how to post understandable questions -- at least I was not able to understand. In particular, post in plain text, not html, which tends to get mangled as seemed to occur here. 2. Your first stop in learning R should be one of the many fine tutorials available on the web or even the "Intro to R" tutorial that ships with R. In particular, indexing in R using logical expressions appears relevant to your query. Here is an example of what can be done along the lines that I think you asked about -- hope it helps. Apologies if I have misunderstood. See also ?subset and ?cumsum . > set.seed(1021) > y <- runif(10) > y [1] 0.36751828 0.08721951 0.08899027 0.38838635 0.1978 0.72948251 [7] 0.36669151 0.28457792 0.90614056 0.31832515 > y[cumsum(y) < 1.2] [1] 0.36751828 0.08721951 0.08899027 0.38838635 Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Fri, Jun 10, 2016 at 12:27 PM, oslo via R-helpwrote: > Hi all; > I am quite new in R. I have tried write a loop to sum up a column and cut off > when summation reach certain point. Here are a small example and my R codes. > Your helps are truly appreciated, > Oslo > file=AposA posB1 92 75 124 79 13.. .. > File=Bpos a b c4 .4 7 .82 .1 5 .47 .5 8 .321 .4 1 .113 > .1 6 .1312 .2 11 .019 .3 12 .23.. . ... . . > I would like to sum up the B$a column and cut off at 0.7 for the each row of > intervals giving in file=A.For example the interval at the first row in > A$posA and A$posB is 1 and 9. So, I need adding up the B$a and cut off B$a>.7 > from the 1 to 9 in B$pos. And then I need to the same using the intervals in > the second, third. rows in A. Obviously my loop is wrong and does not > work properly. Please help for my this first experience. Thanks. > Here are my codes > #sorting B$possort=B[order(B$pos),] > #Running loop > for(i in 1:nrow(A)) {if(sum(B[a$B, i:A[1:2])>0.7) {print(A[1:i,]) } } > > [[alternative HTML version deleted]] > > __ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
[R] summing up and cut off with looping
Hi all; I am quite new in R. I have tried write a loop to sum up a column and cut off when summation reach certain point. Here are a small example and my R codes. Your helps are truly appreciated, Oslo file=AposA posB1 92 75 124 79 13. . . . File=Bpos a b c 4 .4 7 .82 .1 5 .47 .5 8 .321 .4 1 .113 .1 6 .1312 .2 11 .019 .3 12 .23. . . .. . . . I would like to sum up the B$a column and cut off at 0.7 for the each row of intervals giving in file=A.For example the interval at the first row in A$posA and A$posB is 1 and 9. So, I need adding up the B$a and cut off B$a>.7 from the 1 to 9 in B$pos. And then I need to the same using the intervals in the second, third. rows in A. Obviously my loop is wrong and does not work properly. Please help for my this first experience. Thanks. Here are my codes #sorting B$possort=B[order(B$pos),] #Running loop for(i in 1:nrow(A)) {if(sum(B[a$B, i:A[1:2])>0.7) {print(A[1:i,]) } } [[alternative HTML version deleted]] __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.