R语言中的数据集

R语言中的数据存储形式主要有以下几种方式

数组,向量,矩阵,数据框,列表

R语言中的可以处理的数据类型有以下几种方式

数值类型,字符类型,逻辑类型,原声类型(二进制类型),复数类型

数值类型 包括 实例标示,日期类型

字符类型  包括 标称变量,序数变量

R语言针对不同的数据类型处理的方式是不同的


一、向量(每一个向量中的元素都是相同的数据类型)

a <- c(1, 2, 5, 3, 6, -2, 4)  整数类型
b <- c("one", "two", "three")  字符类型
c <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)  boolean类型

向量的下标从1开始

以下是几种对于向量的操作

a[1]  访问第一个元素  a[c(2,4)]访问向量a的第2个和第4个元素

a[3]
a[c(1, 3, 5)]
a[2:6]

二、矩阵(是一个二维的数据,元素都具有相同的数据类型)


以下是几个简单创建矩阵的例子

y <- matrix(1:20, nrow = 5, ncol = 4)

y显示的结果如下

     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20


cells <- c(1, 26, 24, 68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = TRUE, 
    dimnames = list(rnames, cnames))

结果如下

   C1 C2
R1  1 26
R2 24 68

mymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = FALSE, 
    dimnames = list(rnames, cnames))

结果如下:

   C1 C2
R1  1 24
R2 26 68

如何访问矩阵中的元素

x <- matrix(1:10, nrow = 2)
x
x[2, ]
x[, 2]
x[1, 4]
x[1, c(4, 5)]

三、数组(三维以上的数据用数组,数组中的元素是相同的数据类型)

创建数据的基本的原型函数

myarray <- array(vector,dimensions,dimnames) // 数据源,向量表示维度下标的最大值,名称

dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2", "B3")
dim3 <- c("C1", "C2", "C3", "C4")
z <- array(1:24, c(2, 3, 4), dimnames = list(dim1, 
    dim2, dim3))
z

四、数据框(dataframe,可以有不同的数据类型)

创建数据框的一般的函数

mydata <- data.frame(col1,col2,col3,col4,...,row.names=col1)

我们将病人的数据,以数据框的形式加载到数据框中

patientID <- c(1, 2, 3, 4)
age <- c(25, 34, 28, 52)
diabetes <- c("Type1", "Type2", "Type1", "Type1")
status <- c("Poor", "Improved", "Excellent", "Poor")
patientdata <- data.frame(patientID, age, diabetes, 
    status)
patientdata

结果如下

 patientID age diabetes    status
1         1  25    Type1      Poor
2         2  34    Type2  Improved
3         3  28    Type1 Excellent
4         4  52    Type1      Poor

数据框如何访问自己的列

patientdata[1:2]
patientdata[c("diabetes", "status")]
patientdata$age

可以使用attach(数据框)detach(数据框)来减少 数据框$的使用

例如

summary(mtcars$mpg)

plot(mtcars$mpg,mtcars$wt)


另外一种方式就是

attach(mtcars)

summary(mpg)

plot(mpg,wt)

detach(mtcars)

或者使用with方式

with(mtcars,{

summary(mpg)

plot(mpg,wt)

})

{}中的都是针对mtcars数据集的操作

在病人数据中的Diabetes和Status是标称属性和序数属性,都是字符类型的,可以使用factor(col)将字符类型变成数值类型

col <- factor(col)  //将标称类型变成数值类型,没有顺序

col <- factor(col,order=true) //将序数类型变成数值类型,有顺序,按照值得字母的顺序排序

col <- factor(col,order=true,levels=c("","",""))


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)
summary(patientdata)


五、列表(list,列表中的元素可以是向量,矩阵,数组,数据框,列表)

mylist<- list(object1,object2,object3)



g <- "My First List"
h <- c(25, 26, 18, 39)
j <- matrix(1:10, nrow = 5)
k <- c("one", "two", "three")
mylist <- list(title = g, ages = h, j, k)
mylist

mylist[[3]][,1]


如何对以上5中对象处理



  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值