r-novice-inflammation icon indicating copy to clipboard operation
r-novice-inflammation copied to clipboard

incorrect output in Reading and Writing CSV Files from r-novice-inflammation

Open EvaZinkovsky opened this issue 3 years ago • 2 comments

**carSpeeds <- read.csv(file = 'data/car-speeds.csv')

carSpeeds$Color <- ifelse(carSpeeds$Color == 'Blue', 'Green', carSpeeds$Color) carSpeeds$Color**

output is currently [1] "Green" " Red" "Green" "White" "Red" "Green" "Green" "Black" "White" [10] "Red" "Red" "White" "Green" "Green" "Black" "Red" "Green" "Green" [19] "White" "Green" "Green" "Green" "Red" "Green" "Red" "Red" "Red"
[28] "Red" "White" "Green" "Red" "White" "Black" "Red" "Black" "Black" [37] "Green" "Red" "Black" "Red" "Black" "Black" "Red" "Red" "White" [46] "Black" "Green" "Red" "Red" "Black" "Black" "Red" "White" "Red"
[55] "Green" "Green" "Black" "Green" "White" "Black" "Red" "Green" "Green" [64] "White" "Black" "Red" "Red" "Black" "Green" "White" "Green" "Red"
[73] "White" "White" "Green" "Green" "Green" "Green" "Green" "White" "Black" [82] "Green" "White" "Black" "Black" "Red" "Red" "White" "White" "White" [91] "White" "Red" "Red" "Red" "White" "Black" "White" "Black" "Black" [100] "White"

Output should be [1] "Green" "1" "Green" "5" "4" "Green" "Green" "2" "5" "4" "4" "5" "Green" "Green" [15] "2" "4" "Green" "Green" "5" "Green" "Green" "Green" "4" "Green" "4" "4" "4" "4"
[29] "5" "Green" "4" "5" "2" "4" "2" "2" "Green" "4" "2" "4" "2" "2"
[43] "4" "4" "5" "2" "Green" "4" "4" "2" "2" "4" "5" "4" "Green" "Green" [57] "2" "Green" "5" "2" "4" "Green" "Green" "5" "2" "4" "4" "2" "Green" "5"
[71] "Green" "4" "5" "5" "Green" "Green" "Green" "Green" "Green" "5" "2" "Green" "5" "2"
[85] "2" "4" "4" "5" "5" "5" "5" "4" "4" "4" "5" "2" "5" "2"
[99] "2" "5"

str(carSpeeds)

output is currently 'data.frame': 100 obs. of 3 variables: $ Color: chr "Green" " Red" "Green" "White" ... $ Speed: int 32 45 35 34 25 41 34 29 31 26 ... $ State: chr "NewMexico" "Arizona" "Colorado" "Arizona" ...

Output should be 'data.frame': 100 obs. of 3 variables: $ Color: chr "Green" "1" "Green" "5" ... $ Speed: int 32 45 35 34 25 41 34 29 31 26 ... $ State: Factor w/ 4 levels "Arizona","Colorado",..: 3 1 2 1 1 1 3 2 1 2 ...

EvaZinkovsky avatar Nov 19 '20 01:11 EvaZinkovsky

Hi @EvaZinkovsky, thanks for this, could you also let us know the output of sessionInfo()?

HaoZeke avatar Dec 29 '20 01:12 HaoZeke

Hello, This issue is a result of the migration to R version 4.0, where default.stringsAsFactors() = FALSE rather than TRUE, hence the output showing up as the character strings rather than the factor levels. I believe issue #483 references some other issues/experiences with the migration to R 4.0.

habpippin avatar Jan 12 '21 02:01 habpippin

Hi, thanks for the report! @habpippin perfectly identified the issue.

This has been fixed and properly documented in https://github.com/swcarpentry/r-novice-inflammation/commit/3922356b966a9643b243d1614025a38f9bbf7afc.

Bisaloo avatar Dec 16 '23 10:12 Bisaloo