R语言学习之入门和创建数据集

更新时间:2024-05-22 17:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

R语言学习笔记

第1章 R的使用

1.R语句由函数和赋值。R使用<-作为赋值符号:

x<- rnorm(5) #创建一个名为x的向量对象,x包含5个符合标准正太分布的随机偏差# rnorm(5) -> x与x<- rnorm(5),这两个语句等价。

2.简单的R会话:

研究上述10名婴儿的:(1)体重分布;(2)体重和月龄的关系 代码清单:

age <- c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3)#使用函数c()以向量的形式输入月龄数据#

weight <- c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6, 10.4, #使用函数c()以向量的形式输入体重数据# 10.2, 6.1)

mean(weight)#使用函数mean()求体重平均值# sd(weight)#使用函数sd ()求体重标准差#

cor(age, weight)#使用函数cor()求体重与月龄之间相关系数#

plot(age, weight)#使用函数plot(),以图形形式表现体重与月龄之间关系# # q()#使用函数q ()结束程序#

输出结果:

1

第2章创建数据集

1.访问向量中元素

通过方括号中给定元素所处的数值,可以直接访问向量中的元素。例如,a[c(3,5)],访问向量a中的第3个和第5个元素。 代码清单:

a <- c(1, 2, 5, 3, 6, -2, 4) a[3]

a[c(1, 3, 5)]

a[2:6]#访问从第2个元素到第6个元素# 输出结果:

2.创建矩阵

矩阵都是二维的,和向量类似,矩阵中也仅能包含一种数据类型。

通过函数matrix创建矩阵,一般格式如下:

myymatrix<- matrix(vector, nrow=number_of_rows, #nrow(行)# ncol=number_of_columns, #ncol(列)#

byrow=logical_value,#byrow=true(按行填充)/byrow=false(默认:按列填充)# dimnames=list(char_vector_rownames,char_vector_colnames))

#dimnames包含了可选的以字符型向量表示的行名称和列名称#

代码清单①:

y <- matrix(1:20, nrow = 5, ncol = 4) #输出从1到20,5行4列,默认按列进行填充# y

输出结果:

代码清单②:

cells <- c(1, 26, 24, 68) #向量赋值# rnames<- c(\ #行名称# cnames<- c(\ #列名称#

mymatrix<- matrix(cells, nrow = 2, ncol = 2, byrow = TRUE, #2行2列,按行填充# dimnames = list(rnames, cnames)) #行列名称赋值# mymatrix

2

输出结果:

如果按照列填充:

cells <- c(1, 26, 24, 68) rnames<- c(\cnames<- c(\

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

输出结果:

我们可以使用下标和方括号来选择矩阵的行、列或元素。X[i,]指矩阵x中的第i行,X[,j]指出第j列,x[i,j]指第i行第j个元素。选择多行或多列时,下标i和j可为数值型向量,如下代码清单演示:

代码清单③:

x <- matrix(1:10, nrow = 2) #没有对行、列名称进行命名,输出结果自动生成# x

输出结果:

代码清单④:

x[2, ] #输出矩阵x中第2行#

x[,2] #输出矩阵x中第2列#

3

x[1,4] #输出矩阵x中第1行,第4列#

x[1,c(4,5)] #输出矩阵x中第1行,第4、5列#

3.创建数组

数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:

myarray<-array(vector,dimensions,dimnames) #vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,dimnames是可选的、各维度名称标签的列表#

代码清单:

dim1 <- c(\

dim2 <- c(\

dim3 <- c(\

z <- array(1:24, c(2, 3, 4), dimnames = list(dim1, dim2, dim3))

#将1~24按照列排方式,排列在4个2行3列,创建成三维(2×3×4)数值型数组# z

输出结果:

4.创建数据框

数据框是R中最常见的数据结构,数据框中不同的列可以包含不同模式的数据。

mydata<-data.frame(col1,col2,col3,…) #列向量col1,col2,col3,…可为任何类型,每一列的名称可由names指定。

代码清单①:(创建)

patientID<- c(1, 2, 3, 4)

age <- c(25, 34, 28, 52)

diabetes <- c(\status <- c(\

4

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

输出结果:

代码清单②:(选取数据框中的元素)

patientdata[1:2]

#或者patientdata[c(\结果一样#

代码清单③:(选取数据框中的列向量)

patientdata$age #$表示选取特定列向量#

代码清单④:(table生成列联表)

table(patientdata$diabetes,patientdata$status)

5.因子的使用

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

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

要表示有序型变量,需要为函数factor()指定参数ordered=TRUE。给定向量:

status<-c(“Poor”,“Improved”,“Excellent”,“Poor”)

语句status<-factor(status,ordered=TRUE)会将向量编码为(3,2,1,3),并在内部将这些值关联为1=Excellent、2=Improved以及3=Poor。另外,针对此向量进行的任何分析都会将其作为有序型变量对待,并自动选择合适的统计方法。

5

本文来源:https://www.bwwdw.com/article/29t7.html

Top