问题
I have a flat file like this:
x1, x2, x3, x4, x5
0.438,0.498,3.625,3.645,5.000
2.918,5.000,2.351,2.332,2.643
1.698,1.687,1.698,1.717,1.744
0.593,0.502,0.493,0.504,0.445
0.431,0.444,0.440,0.429,1.0
0.438,0.498,3.625,3.648,5.000
How do I load it in R.
I have tried to do this
> x <- read.table("C:\\flatFile.txt", header=TRUE)
but after I do some operation I get error like
> colSums(x)
Error in colSums(x) : 'x' must be numeric
回答1:
If you look at the help on read.table you'll discover some extra functions that are essentially read.table with different defaults. If you tend to read in lots of files that would be best read in using those defaults then use them instead of read.table for conciseness.
This code will read in your file
x <- read.table("C:\\flatFile.txt", header=TRUE, sep = ',')
or this code
x <- read.csv("C:\\flatFile.txt")
Note that, while you can set any of the features of these read.table based commands just like read.table, it is rather pointless to use them and reiterate the default settings. For example, don't bother with read.csv if you're then going to also be setting header = TRUE, and/or, sep = ',' all of the time as well. You might as well just use read.table in that case.
回答2:
You need to use the colClasses option to read.csv. Like this:
x <- read.csv("C:\\flatFile.txt", head=TRUE, colClasses=c("numeric","numeric","numeric","numeric"))
来源:https://stackoverflow.com/questions/7451591/how-to-load-comma-separated-data-into-r