Hi, I used as.data.frame(matrix(...)) just to create an example dataset. In your case, you don't need to do that. Using the same example:
set.seed(24) dat1<- as.data.frame(matrix(sample(20:40,40,replace=TRUE),ncol=4)) set.seed(285) dat2<- as.data.frame(matrix(sample(35:60,40,replace=TRUE),ncol=4)) write.csv(dat1,"file1.csv",row.names=FALSE) write.csv(dat2,"file2.csv",row.names=FALSE) data1<- read.csv("file1.csv") data2<- read.csv("file2.csv") ###Your code: dat1New<- as.data.frame(matrix(data1)) dat2New<- as.data.frame(matrix(data2)) ###It is always useful to check ?str() str(dat1New) #'data.frame': 4 obs. of 1 variable: # $ V1:List of 4 # ..$ : int 26 24 34 30 33 39 25 36 36 25 #..$ : int 32 27 34 34 26 38 24 20 30 22 # ..$ : int 21 31 35 22 24 34 21 32 33 20 #..$ : int 26 25 27 23 39 24 35 33 34 40 dat1New # V1 #1 26, 24, 34, 30, 33, 39, 25, 36, 36, 25 #2 32, 27, 34, 34, 26, 38, 24, 20, 30, 22 #3 21, 31, 35, 22, 24, 34, 21, 32, 33, 20 #4 26, 25, 27, 23, 39, 24, 35, 33, 34, 40 dat2New # V1 #1 53, 40, 47, 57, 57, 53, 35, 42, 53, 41 #2 54, 37, 43, 40, 57, 42, 37, 53, 60, 39 #3 54, 60, 46, 50, 35, 41, 58, 45, 36, 53 #4 52, 56, 44, 40, 38, 53, 47, 46, 60, 50 sapply(colnames(dat1New),function(i) t.test(dat1New[,i],dat2New[,i],paired=TRUE)$p.value) #Error in x - y : non-numeric argument to binary operator ##Just using data1 and data2 sapply(colnames(data1),function(i) t.test(data1[,i],data2[,i],paired=TRUE)$p.value) # V1 V2 V3 V4 #3.202629e-05 6.510644e-04 6.215225e-04 3.044760e-04 #or using dat1New and dat2New sapply(seq_along(dat1New$V1),function(i) t.test(dat1New$V1[[i]],dat2New$V1[[i]],paired=TRUE)$p.value) #[1] 3.202629e-05 6.510644e-04 6.215225e-04 3.044760e-04 A.K. thanks for the reply, I am getting the following error Error in x - y : non-numeric argument to binary operator This is what I enter below > data1 <-read.csv("file1.csv") > data2 <-read.csv("file2.csv") > dat1<- as.data.frame(matrix(data1)) > dat2<- as.data.frame(matrix(data2)) > sapply(colnames(dat1),function(i) > t.test(dat1[,i],dat2[,i],paired=TRUE)$p.value) As far as I can see all my values are numeric...? ----- Original Message ----- From: arun <smartpink...@yahoo.com> To: R help <r-help@r-project.org> Cc: Sent: Thursday, June 27, 2013 10:17 AM Subject: Re: multiple csv files for T-test Hi, May be this helps: #You can use ?read.csv() to read the two files. set.seed(24) dat1<- as.data.frame(matrix(sample(20:40,40,replace=TRUE),ncol=4)) set.seed(285) dat2<- as.data.frame(matrix(sample(35:60,40,replace=TRUE),ncol=4)) sapply(colnames(dat1),function(i) t.test(dat1[,i],dat2[,i],paired=TRUE)$p.value) # V1 V2 V3 V4 #3.202629e-05 6.510644e-04 6.215225e-04 3.044760e-04 A.K. Hi I am fairly new to R so if this is a stupid question please forgive me. I have a CSV file with multiple parameters (50). I have another CSV file with the same parameters after treatment. Is there a way I can read these two files into R and do multiple paired T-test as all the parameters are in the same columns in each file? Thanks in advance ______________________________________________ R-help@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.