知足常乐|把数据输入R之后,如何进行简单的操作(一)


知足常乐|把数据输入R之后,如何进行简单的操作(一)【知足常乐|把数据输入R之后,如何进行简单的操作(一)】作者:丁点helper
来源:丁点帮你
回忆一下上一讲用到的例子:
知足常乐|把数据输入R之后,如何进行简单的操作(一)输入数据的代码在上一讲详细讲解过 , 这里总结如下:
age <- c(25, 34, 59, 60, 20)#患者年龄type <- c(1, 2, 2, 2, 1)#糖尿病类型status <- c("poor", "improved", "excellent", "poor", "excellent")#病情comorbidity<- c(TRUE, FALSE, FALSE, TRUE, FALSE)#出现并发症age、type、status、comorbidity中分别仅有一种数据类型 , 它们都是向量 。 本文介绍生成向量之后 , 如何对其进行简单的操作 。
1. 查看与改变向量的数据类型看到一个向量 , 首先要搞清楚其中包含的数据类型 。 就本例而言 , 从表面看也很容易区分 , 但实际上一项统计分析工作用到的向量可能很多 , 用函数class()可以快速知晓某向量的数据类型 , 例如:
class(age) [1]"numeric"class(type) [1] "numeric"class(status) [1]"character"class(comorbidity)[1]"logical"不同类型的数据可以根据需要互相转换 , 用as.目标数据类型()函数:
as.numeric() #将括号中的内容转变为数值型数据as.character() #转变为字符型as.logical()#转变为逻辑型as.factor()#转变为因子型所以也可用as.character()将type中的数值型数据转变为字符型:
type[1] 1 2 2 2 1class(type) [1] "numeric"type <- as.character(type)# 注意要将新的结果赋值给typetype[1] "1" "2" "2" "2" "1"class(type)[1] "character"之前讲过 , 将定性变量(即分类变量)以因子的形式输入会有助于后续的统计分析工作 , factor()这个函数可以帮我们把数据转变为因子型:
type <- c(1, 2, 2, 2, 1) type <- factor(type)type[1] 1 2 2 2 1Levels: 1 2class(type)[1]"factor"用1和2这样的阿拉伯数字其实不太利于准确地表达数据内容 , 可以给原来的1和2加上标签:
type <- factor(type, levels = c("1", "2"),labels = c("Type 1", "Type 2")) type[1] Type 1 Type 2 Type 2 Type 2 Type 1Levels: Type 1 Type 2所以在输入定性变量(分类变量)时可以采用这种简便方法 。
再看另一个例子:
status[1]"poor""improved" "excellent""poor" "excellent"status <- factor(status)status[1] poorimprovedexcellent poorexcellentLevels: excellent improved poorclass(status)[1]"factor"由于status是一个有序分类变量 , 所以在转变为因子时还应体现其顺序:
status <- factor(status, levels = c('poor', 'improved','excellent'),ordered = TRUE) status[1] poorimprovedexcellent poorexcellentLevels:poor < improved < excellent这里的顺序是根据levels这个命令中的内容生成的 , 可自行调整levels命令中的顺序:status <- factor(status, levels = c('excellent','improved' ,'poor'),ordered = TRUE)status[1]poor improvedexcellent poorexcellentLevels: excellent < improved < poor2. 向量中的数据定位
以age这个向量为例:
age <- c(25, 34, 59, 60, 20) age[1] 25 34 59 60 20输出向量中排在第3位的数据: