R语言学习D7—实例标识符case indentifier和因子

实例标识符:

R语言中实例标识符case indentifier可以用rowname进行指定:

patientdata <- data.frame(patientID, age, diabetes,
status, row.names=patientID)

因子:

变量可归结为名义型、有序型或连续型变量。

类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。

函数factor()以一个整数向量的形式储存类别值,整数的取值范围是[1...k](其中k是名义变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。

名义型变量转化factor()

diabetes <- c("Type1", "Type2", "Type1", "Type1")
diabetes <- factor(diabetes) 
#将此向量储存为(1,2,1,1),并在内部将其关联为1=Type1和2=Type2(具体赋值根据字母顺序而定)

有序型变量转化factor() 需要为函数factor()指定参数ordered=TRUE

status <- c("Poor", "Improved", "Excellent", "Poor")
status <- factor(status, ordered=TRUE)
#将向量编码为(3,2,1,3)并在内部关联1=Excellent 2=Improved 3=Poor 编码恰好与逻辑顺序一致.

但是按照默认的字母顺序排序的因子很少能够让人满意,你可以通过指定levels选项来覆盖默认操作:

status<-factor(status,order=TRUE,levels=c("Poor","Improved","Excellent"))
#各个水平将赋值为1=Poor 2=Improved 3=Excellent

数值型变量可以用levels和lables参数来编码成因子:

sex<-factor(sex,levels=c(1,2),lables=c("Male","Female"))
#把变量转换成一个无序因子,性别将被当成类别型变量,标签“Male”和“Female”将代替1和2在结果中输出

代码示例:

> patientID <- c(1, 2, 3, 4)
> age <- c(25, 34, 28, 52)
> diabetes <- c("Type1", "Type2", "Type1", "Type1")
> status <- c("Poor", "Improved", "Excellent", "Poor")
> diabetes <- factor(diabetes)
> status <- factor(status, order=TRUE)
> patientdata <- data.frame(patientID, age, diabetes, status)
> str(patientdata)
‘data.frame’: 4 obs. of 4 variables:
$ patientID: 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)
patientID 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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值