如何用数字和字符列创建数据框?

use*_*783 4 r numeric dataframe cbind

我正在尝试建立一个由三个字符变量和一个数字变量组成的数据框。当我运行以下代码时,我得到了一个四列的矩阵,但是分数变量不再是数字,并且分数被视为因子。

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)
Run Code Online (Sandbox Code Playgroud)

如果我跑步

data1<-data.frame(cbind(school,state, measure,score))
Run Code Online (Sandbox Code Playgroud)

我得到的数据帧score仍然是一个因素。如何建立这个数据框,使之score为数字?

far*_*zov 5

要构建由三个字符变量和一个数字变量组成的数据框,需要stringsAsFactors=FALSEdata.frame()函数中指定:

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)
Run Code Online (Sandbox Code Playgroud)

结果如下:

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  
Run Code Online (Sandbox Code Playgroud)