I'm trying to build a data frame consisting of three character variables and one numeric variable. When I run the following code, I get a four-column matrix, but the score variable is no longer numeric, and the scores are treated as factors.
school<-c("NYU", "BYU", "USC", "FIT", "UNH","UCLA","USF","Columbia")
state<-c("NY","UT","CA","NY","NY","CA", "CA","NY")
measure<-c("MSAT","MSAT","GPA","MSAT","MSAT","GPA","GPA","GPA")
score<-c(500, 490, 2.9, 759, 550, 1.2, 3.1, 3.2)
data<-cbind(school,state, measure,score)
If I run
data1<-data.frame(cbind(school,state, measure,score))
I get a data frame where score
is still a factor. How can I build this data frame so that score
is numeric?
To build a data frame consisting of three character variables and one numeric variable, you need to specify: stringsAsFactors=FALSE
in data.frame()
function:
school<-c("NYU", "BYU", "USC")
state<-c("NY","UT","CA")
measure<-c("MSAT","MSAT","GPA")
score<-c(500, 490, 2.9)
df<-data.frame(school,state, measure,score, stringsAsFactors=FALSE)
Here's the result:
summary(df)
school state measure score
Length:3 Length:3 Length:3 Min. : 2.9
Class :character Class :character Class :character 1st Qu.:246.4
Mode :character Mode :character Mode :character Median :490.0
Mean :331.0
3rd Qu.:495.0
Max. :500.0