On Jan 8, 2012, at 4:48 PM, jawbonemurphy wrote:

Hi,

I am trying to create a script that will evaluate each column of a data frame, regardless of # columns, using some function and sorting the results
by an index vector:

?lapply
?"["
?order

#upload data (112 rows x 73 columns)
SD <- read.csv("/Users/johnjacob/Desktop/StudentsData_RInput.csv",
header=TRUE)

#assign index vector
ID <- SD[ ,2]

#write indexed mean function
meanfun <- function(x) {
for(i in 3:ncol(x)) {
 meanSD <- tapply(x[,i], ID, FUN=mean)}

Aren't you worried about over-writing meanSD? this would appear to leave meanSD with only the result from the last column.

return(meanSD)
}


What are you expecting to get back? 'tapply' will very possibly return a matrix.

#apply function to data
meanfun(SD)

What I get is one set of indexed means:

7605   Andrea    Billy   ERR006    FJM13
2.111111 1.400000 1.888889 3.692308 3.750000
  Gayan  Jschaef  Whitney
1.300000 2.285714 2.000000

...and what I would like to generate is a set of indexed means

By indexed you mean grouped? Perhaps you should be looking at ?aggregate

for each
column in the data set.
Any guidance would be much appreciated!




David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to