Hello user, I have large data containing subject id, time and response where subjects are measured repeatedly. However some time are duplicates. I only want data with unique time points per id. I mean if time is repeated, then take only one. Here is a sample data. id time res 1 2 0.64 1 3 0.78 1 3 6.5 1 3 4.5 1 4 4 1 5 3.4 2 10 5.7 2 11 5.8 2 11 9.3 2 11 3.4 2 12 3.4 2 13 6.7 3 3 5.6 3 3 3.4 3 4 2.3 3 5 5.6 3 12 9.8 3 10 7 3 24 6 3 16 4 for 1st subject I want this, id time res 1 2 0.64 1 3 0.78 1 4 4 1 5 3.4 Any suggestions are much appreciated! Thanks, Bikek
For loop
5 messages · bibek sharma, PIKAL Petr, Jessica Streicher +1 more
Hi
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of bibek sharma Sent: Friday, November 30, 2012 5:00 PM To: R-help at r-project.org Subject: [R] For loop Hello user, I have large data containing subject id, time and response where subjects are measured repeatedly. However some time are duplicates. I only want data with unique time points per id. I mean if time is repeated, then take only one.
Which one? The first one? aggregate(test$res, list(time=test$time, id=test$id), function(x) x[1]) Regards Petr
Here is a sample data. id time res 1 2 0.64 1 3 0.78 1 3 6.5 1 3 4.5 1 4 4 1 5 3.4 2 10 5.7 2 11 5.8 2 11 9.3 2 11 3.4 2 12 3.4 2 13 6.7 3 3 5.6 3 3 3.4 3 4 2.3 3 5 5.6 3 12 9.8 3 10 7 3 24 6 3 16 4 for 1st subject I want this, id time res 1 2 0.64 1 3 0.78 1 4 4 1 5 3.4 Any suggestions are much appreciated! Thanks, Bikek
______________________________________________ R-help at r-project.org mailing list 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.
Hello Bikek, please use dput() next time to provide the data, its easier to use that. also: looking at the data provided, how would you want to decide which value of the non-unique times to retain? Just take the first one? They aren't all the same.
On 30.11.2012, at 16:59, bibek sharma wrote:
Hello user, I have large data containing subject id, time and response where subjects are measured repeatedly. However some time are duplicates. I only want data with unique time points per id. I mean if time is repeated, then take only one. Here is a sample data. id time res 1 2 0.64 1 3 0.78 1 3 6.5 1 3 4.5 1 4 4 1 5 3.4 2 10 5.7 2 11 5.8 2 11 9.3 2 11 3.4 2 12 3.4 2 13 6.7 3 3 5.6 3 3 3.4 3 4 2.3 3 5 5.6 3 12 9.8 3 10 7 3 24 6 3 16 4 for 1st subject I want this, id time res 1 2 0.64 1 3 0.78 1 4 4 1 5 3.4 Any suggestions are much appreciated! Thanks, Bikek
______________________________________________ R-help at r-project.org mailing list 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.
Hi, Try this: dat1<-read.table(text=" id??? time???? res 1??? 2??? 0.64 1??? 3??? 0.78 1??? 3??? 6.5 1??? 3??? 4.5 1??? 4??? 4 1??? 5??? 3.4 2??? 10??? 5.7 2??? 11??? 5.8 2??? 11??? 9.3 2??? 11??? 3.4 2??? 12??? 3.4 2??? 13??? 6.7 3??? 3??? 5.6 3??? 3??? 3.4 3??? 4??? 2.3 3??? 5??? 5.6 3??? 12??? 9.8 3??? 10??? 7 3??? 24??? 6 3??? 16??? 4 ",sep="",header=TRUE,stringsAsFactors=TRUE) res<-dat1[!duplicated(dat1[,1:2]),] ?res #?? id time? res #1?? 1??? 2 0.64 #2?? 1??? 3 0.78 #5?? 1??? 4 4.00 #6?? 1??? 5 3.40 #7?? 2?? 10 5.70 #8?? 2?? 11 5.80 #11? 2?? 12 3.40 #12? 2?? 13 6.70 #13? 3??? 3 5.60 #15? 3??? 4 2.30 #16? 3??? 5 5.60 #17? 3?? 12 9.80 #18? 3?? 10 7.00 #19? 3?? 24 6.00 #20? 3?? 16 4.00 row.names(res)<-1:nrow(res) A.K. ----- Original Message ----- From: bibek sharma <mbhpathak at gmail.com> To: R-help at r-project.org Cc: Sent: Friday, November 30, 2012 10:59 AM Subject: [R] For loop Hello user, I have large data containing? subject id, time and response where subjects are measured repeatedly. However some time are duplicates. I only want data with unique time points per id. I mean if time is repeated, then take only one. Here is a sample data. id??? time ??? res 1??? 2??? 0.64 1??? 3??? 0.78 1??? 3??? 6.5 1??? 3??? 4.5 1??? 4??? 4 1??? 5??? 3.4 2??? 10??? 5.7 2??? 11??? 5.8 2??? 11??? 9.3 2??? 11??? 3.4 2??? 12??? 3.4 2??? 13??? 6.7 3??? 3??? 5.6 3??? 3??? 3.4 3??? 4??? 2.3 3??? 5??? 5.6 3??? 12??? 9.8 3??? 10??? 7 3??? 24??? 6 3??? 16??? 4 for 1st subject I want this, id??? time ??? res 1??? 2??? 0.64 1??? 3??? 0.78 1??? 4??? 4 1??? 5??? 3.4 Any suggestions are much appreciated! Thanks, Bikek ______________________________________________ R-help at r-project.org mailing list 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.
You could use the duplicated function maybe:
mtest
id time value
[1,] 1 3 1
[2,] 1 3 2
[3,] 1 2 3
[4,] 1 1 4
[5,] 2 1 5
[6,] 2 3 6
[7,] 2 3 7
[8,] 2 3 8
duplicated(mtest[,1:2])
[1] FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE
mtest[!duplicated(mtest[,1:2]),]
id time value
[1,] 1 3 1
[2,] 1 2 3
[3,] 1 1 4
[4,] 2 1 5
[5,] 2 3 6
On 30.11.2012, at 17:15, Jessica Streicher wrote:
Hello Bikek, please use dput() next time to provide the data, its easier to use that. also: looking at the data provided, how would you want to decide which value of the non-unique times to retain? Just take the first one? They aren't all the same. On 30.11.2012, at 16:59, bibek sharma wrote:
Hello user, I have large data containing subject id, time and response where subjects are measured repeatedly. However some time are duplicates. I only want data with unique time points per id. I mean if time is repeated, then take only one. Here is a sample data. id time res 1 2 0.64 1 3 0.78 1 3 6.5 1 3 4.5 1 4 4 1 5 3.4 2 10 5.7 2 11 5.8 2 11 9.3 2 11 3.4 2 12 3.4 2 13 6.7 3 3 5.6 3 3 3.4 3 4 2.3 3 5 5.6 3 12 9.8 3 10 7 3 24 6 3 16 4 for 1st subject I want this, id time res 1 2 0.64 1 3 0.78 1 4 4 1 5 3.4 Any suggestions are much appreciated! Thanks, Bikek
______________________________________________ R-help at r-project.org mailing list 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 at r-project.org mailing list 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.