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】自定义宝可梦数据集
210 0
【14】自定义宝可梦数据集
|
8天前
|
Python
创建模型
创建模型。
8 1
|
8天前
`save_summary_steps`这个参数是用来控制训练过程中保存摘要的频率的
`save_summary_steps`这个参数是用来控制训练过程中保存摘要的频率的
35 2
|
8天前
save_summary_steps`这个参数是用来控制训练过程中保存摘要的频率的
save_summary_steps`这个参数是用来控制训练过程中保存摘要的频率的
28 2
|
8天前
|
机器学习/深度学习 PyTorch 算法框架/工具
通过实例学习Pytorch加载权重.load_state_dict()与保存权重.save()
通过实例学习Pytorch加载权重.load_state_dict()与保存权重.save()
24 0
|
5月前
|
JSON API 开发者
如何使用分类ID参数过滤搜索词推荐数据?
一、背景介绍 阿里巴巴中国站的搜索词推荐数据对于开发者来说具有重要的参考价值。通过使用获得搜索词推荐 API,开发者可以获取到用户在平台上的搜索行为数据,了解用户的需求和行为,优化产品和服务。在获取搜索词推荐数据的过程中,有时候需要对数据进行更精细的过滤和分析。其中,分类ID参数是一个非常重要的过滤条件,可以帮助开发者更好地筛选数据。本文将详细介绍如何使用分类ID参数过滤搜索词推荐数据,帮助读者更好地理解和使用该 API。
|
7月前
|
数据格式
重写transformers.Trainer的compute_metrics方法计算评价指标时,形参如何包含自定义的数据
  这个问题苦恼我几个月,之前一直用替代方案。这次实在没替代方案了,transformers源码和文档看了一整天,终于在晚上12点找到了。。。
268 0
|
7月前
|
SQL XML JSON
使用 Data Assistant 快速创建测试数据集
Data Assistant 提供超过 100 种数据类型,为任何开发、测试或演示目的生成大量、异构、真实的数据。
43 0
使用 Data Assistant 快速创建测试数据集
|
8月前
|
Web App开发 API 开发者
关于 SAP UI5 Context.prototype.delete 方法的输入参数 Group ID 的细节
关于 SAP UI5 Context.prototype.delete 方法的输入参数 Group ID 的细节
64 0
|
PyTorch 数据处理 算法框架/工具
pytorch中自定义数据集加载对象重写Dataset
pytorch中自定义数据集加载对象重写Dataset
244 0
pytorch中自定义数据集加载对象重写Dataset

热门文章

最新文章