On Feb 1, 2012, at 10:21 PM, jjap wrote:
Dear users,
I am importing a csv file whose first row is a single value that I
need to
capture in a variable.
infile<-file.choose()
in<-read.csv( infile, header=FALSE)
single.value<-as.character(in[1,1]) # fine
Now I need to take rows 3 and on as the data
df<-in[3:dim(in)[1],]
But row 2 contains what I want as header of df.
colnames(df)<-in[2,]
Try
names(df) <- as.character( colnames(df)<-in[2,] )
This gets a series of numbers (characters) "2" "5" "3" "11" instead
of:
"CatA" "Time" etc.
I suspect this has something to do with levels, but I cannot seem to
find a
way to get the proper names.
You should do more reading on the construction of levels. Those column
names are now "polluting" your factor levels. It would have been
cleaner to read the first line of the file and then used read.table()
with sep="," skip = 1, and header=TRUE. You can try to fix _your_
polluted factor problem with:
df <- as.data.frame( lapply( df, factor))
All of the above untested in the absence of a reproducible example.
--
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.