The behaviour of read.csv().
On 2010-12-02 16:26, Rolf Turner wrote:
On 3/12/2010, at 1:08 PM, Phil Spector wrote:
Rolf -
I'd suggest using
junk<- read.csv("junk.csv",header=TRUE,fill=FALSE)
if you don't want the behaviour you're seeing.
The point is not that I don't want this kind of behaviour. The point is that it seems to me to be unexpected and dangerous. I can indeed take precautions against it, now that I know about it, by specifying fill=FALSE. Given that I remember to do so. Now that you've pointed it out I can see that this is the reason for the different behaviour between read.table() and read.csv(); in read.table() fill=FALSE is effectively the default. Having fill=TRUE being the default in read.csv() strikes me as being counter-intuitive and dangerous.
Rolf, This is not to argue with your point re counter-intuitive, but I always run a count.fields() first if I haven't seen (or can't easily see) the file in my editor. I must have learned that the hard way a long time ago. Peter Ehlers
cheers, Rolf