类别变量和有序类别变量在R中称为因子(factor)。因子在R中非常重要,因为它决定了数据的分析方式以及如何进行视觉呈现。
> #以向量形式输入数据
> patinentID <- c(1,2,3,4)
> age <- c(25,34,28,52)
> diabetes <- c("Type1","Type2","Type1","Type1")
> status <- c("Poor","Improved","Excellent","Poor")
> #将diabetes和status分别指定为一个普通因子和一个有序因子
> diabetes <- factor(diabetes)
> status <- factor(status,ordered = TRUE)
> #将数据合并成数据框
> patientdata <- data.frame(patinentID,age,diabetes,status)
> #str()可以提供某个对象的信息
> str(patientdata)
'data.frame': 4 obs. of 4 variables:
$ patinentID: num 1 2 3 4
$ age : num 25 34 28 52
$ diabetes : Factor w/ 2 levels "Type1","Type2": 1 2 1 1
$ status : Ord.factor w/ 3 levels "Excellent"<"Improved"<..: 3 2 1 3
> summary(patientdata)
patinentID age diabetes status
Min. :1.00 Min. :25.00 Type1:3 Excellent:1
1st Qu.:1.75 1st Qu.:27.25 Type2:1 Improved :1
Median :2.50 Median :31.00 Poor :2
Mean :2.50 Mean :34.75
3rd Qu.:3.25 3rd Qu.:38.50
Max. :4.00 Max. :52.00
结果显示diabetes是一个因子,status是一个有序型因子,以及数据内部是如何编码的。
summary()会区别对待各个变量,显示了连续型变量age的最小值、最大值、均值和四分位数,并显示类别型变量diabetes和status的频数值。