On Thu, 2003-09-04 at 12:00, Vadim Ogranovich wrote: > I admit I should have been more clear in my original posting. Let me > try again (and I do know that by deafulat read.table discards > everything after '#' which is why I use comment.char="", my bad not to > mention this). > > > Here is a typical example of my data file: > > #key value > foo 1.2 > boo 1.3 > > As you see the header line begins with '#' and then lists the column > names, however make.names will convert the raw names c("#key", > "value") to c(".key", "value") while I need c("key", "value"), i.e. no > dot before key. So I am asking to give us a hook to specify the > function that will handle this situation. > > > > I am not sure I understand how having this hook can result in an > invalid data frame? It can return invalid names, but check.names=FALSE > can too. > > Thanks, > Vadim
SNIP What's wrong with changing the colnames after the import: (This is under R 1.7.1 under RH 9, using defaults) # Note the conversion of the '#' to 'X.' make.names(c("#key", "value")) [1] "X.key" "value" # Presuming you have dataframe 'df' now imported: colnames(df) [1] "X.key" "value" # Now change them colnames(df) <- gsub("X\\.", "", colnames(df)) # Check names colnames(df) [1] "key" "value" Is there a reason that you could not do this after, rather than before or during the import? You are asking R Core to make a substantive change to a function, when an alternative already exists to resolve a rather unique situation. HTH, Marc Schwartz ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help