R In Action|创建数据集

简介: R In Action|创建数据集

简单的介绍数据的对象类型及文件的读入,输出。


一、对象类型:

包括标量、向量、矩阵、数组、数据框和列表。

1)向量(vector):用于存储数值型、字符型或逻辑型数据的一维数组。函数c()用来创建向量:

示例如下:

a <- c(1:10)

b <- c("A","B")

d <- c(TRUE,FALSE)

注:单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型)。


2)矩阵:二维数组,每个元素都拥有相同的模式(数值型、字符型或逻辑型)。函数matrix创建矩阵:

myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

其中:vector包含了矩阵的元素, nrow和ncol用以指定行和列的维数, dimnames包含了可选的、以字符型向量表示的行名和列名。默认情况按列填充。

示例如下:

mymatrix <- matrix(1:4, nrow=2, ncol=2, byrow=FALSE,dimnames=list(c("R1","R2"),c("C1","C2")))

  C1 C2

R1  1  3

R2  2  4


3)数组(array):与矩阵类似,维度可以大于2。array函数创建:

myarray <- array(vector, dimensions, dimnames)

其中:vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表

示例如下:

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


4)数据框(data.frame):不同的列可以包含不同模式(数值型、字符型等)的数据,很重要!data.frame()创建:

mydata <- data.frame(col1, col2, col3,…)

其中的列向量col1, col2, col3,… 可为任何类型(如字符型、数值型或逻辑型)。每一列的名称可由函数names指定

示例如下:

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)


patientID age diabetes    status

1         1  25    Type1      Poor

2         2  34    Type2  Improved

3         3  28    Type1 Excellent

4         4  52    Type1      Poor

是不是和EXCEL内容很像,所以重要啊!


5)因子(factor):类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor),绘图时候重要。


6)列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。函数list()创建:

mylist <- list(object1, object2, …)

示例如下:

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)


二、数据下标

注:第一个元素下标从1开始!


1)向量:a[2];d[1]


2)矩阵:使用下标和方括号来选择矩阵中的行、 列或元素。X[i,]指矩阵X中的第i 行,X[,j]指第j 列, X[i, j]指第i 行第j 个元素。选择多行或多列时,下标i 和j 可为数值型向量。


3)数组:从数组中选取元素的方式与矩阵相同


4)数据框:可以使用前述(如矩阵中的)下标记号,亦可直接指定列名。

patientdata$age && patientdata[,2] 一样的结果


另:在每个变量名前都键入一次patientdata$麻烦,可以走一些捷径。联合使用函数attach()和detach()或单独使用函数with()来简化代码;

示例如下:

attach(mtcars) #函数attach()可将数据框添加到R的搜索路径中

summary(mpg)    #检查搜索路径中的数据框,以定位到这个变量

plot(mpg, disp)

detach(mtcars) #函数detach()将数据框从搜索路径中移除


with(mtcars, {

nokeepstats <- summary(mpg)

keepstats <<- summary(mpg) #使用特殊赋值符<<-替代标准赋值符(<-)即可,它可将对象保存到with()之外的全局环境中。

})  

#查看nokeepstats 和 keepstats 的区别:

nokeepstats

Error: object 'nokeepstats' not found

keepstats

  Min. 1st Qu.  Median    Mean 3rd Qu.    Max.

 10.40   15.43   19.20   20.09   22.80   33.90



5)列表:双重方括号中指明代表某个成分的数字或名称来访问列表中的元素。

mylist[[2]]和mylist[["ages"]]均指那个含有四个元素的向量

mylist[[2]]

[1] 25 26 18 39

mylist[["ages"]]

[1] 25 26 18 39


三、数据读入与写入:

1)使用read.table()从带分隔符的文本文件中导入数据。

mydataframe <- read.table(file, header=logical_value,sep="delimiter", row.names="name")

注1:help(read.table):更多详情

注2:stringsAsFactors=FALSE,可禁止将字符型变量将转换为因子。


2)使用read.csv()导入csv(excel)数据。


3)write.table , write.csv 输出R结果到文件中.

相关文章
|
机器学习/深度学习 存储 PyTorch
【14】自定义宝可梦数据集
【14】自定义宝可梦数据集
262 0
【14】自定义宝可梦数据集
|
5月前
|
自然语言处理 机器人
ROS2教程 08 动作Action
本文是关于ROS2(机器人操作系统2)中动作(Action)机制的教程,详细介绍了动作的概念、ros2 action相关命令的使用,包括列出、发送目标、获取动作信息,并通过示例代码展示了如何创建动作服务端(Action Server)和客户端(Action Client),以及如何实现动作的执行、反馈和结果处理。
240 0
|
8月前
|
Python
创建模型
创建模型。
36 1
|
SQL XML JSON
使用 Data Assistant 快速创建测试数据集
Data Assistant 提供超过 100 种数据类型,为任何开发、测试或演示目的生成大量、异构、真实的数据。
101 0
使用 Data Assistant 快速创建测试数据集
|
JavaScript 开发工具 git
GitHub Actions:从使用action操作到自定义action操作
GitHub Actions:从使用action操作到自定义action操作
320 0
|
JavaScript Go
第四十九章 开发自定义标签 - 在action之外使用<csr>标签
第四十九章 开发自定义标签 - 在action之外使用<csr>标签
89 0
|
XML 安全 Java
action 的三种实现方式 | 学习笔记
快速学习 action 的三种实现方式,介绍了 action 的三种实现方式系统机制, 以及在实际应用过程中如何使用。