[英]How to create a data frame with numeric and character columns?
我正在嘗試構建一個由三個字符變量和一個數字變量組成的數據框。 當我運行以下代碼時,我得到一個四列矩陣,但得分變量不再是數字,並且分數被視為因子。
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)
如果我跑
data1<-data.frame(cbind(school,state, measure,score))
我得到一個數據框,其中score
仍然是一個因素。 如何構建此數據框以使得score
為數字?
要構建由三個字符變量和一個數字變量組成的數據框,需要在data.frame()
函數中指定: stringsAsFactors=FALSE
:
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)
這是結果:
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
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<-data.frame(school,state, measure,score)
data
school state measure score
NYU NY MSAT 500.0
BYU UT MSAT 490.0
USC CA GPA 2.9
FIT NY MSAT 759.0
UNH NY MSAT 550.0
UCLA CA GPA 1.2
USF CA GPA 3.1
Columbia NY GPA 3.2
is.numeric(data$score)
[1] TRUE
我想這應該工作!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.