On 29/09/2016 4:59 AM, Voirin Pascale wrote:
Hello,
I have a problem with the variable type defined by reading a csv file with
read.csv2.
Here is a test file saved as < test.csv > :
var1;var2;var3
TI;1995;4.5
VD;1990;4.8
FR;1994;3.9
VS;1993;5.1
FR;1995;4.7
FR;1992;5.8
That I read in R with :
read.csv2("test.csv")->don;don
don$var3
## [1] 4.5 4.8 3.9 5.1 4.7 5.8
## Levels: 3.9 4.5 4.7 4.8 5.1 5.8
as.double(don$var3)
## [1] 2 4 1 5 3 6
Why is it by default a <levels> type ? And how can I get the decimal value for
var3
It's a "factor". read.csv2() defaults to a decimal separator of ","
rather than ".", so the last column doesn't look like numbers, and
they're being read as character strings, and then automatically
converted to a factor. Reading as
read.csv2("test.csv", dec = ".")
should give you what you want, or you can convert after the fact with
as.numeric(as.character(don$var3))
Duncan Murdoch
Thanks a lot for your answer.
With my best regards,
Pascale Voirin
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.