Mac版R语言入门(三)数据的导入

R语言(三)数据的导入,包括以下几个部分的内容:

R语言问题讨论交流,欢迎关注我的新浪微博:Jenny爱学习

               1.数据类型介绍

               2.数据导入

               3.抓取网络数据


一.数据类型

    1)Excel、Spreadsheet数据:.csv格式数据

    2)文本文件数据(非结构化数据,每一行长度不同):.txt格式数据

    3)delim 格式读取

R语言直接读取网络数据——通过R语言内置的具有网络通讯packages,分析金融数据

    4)xml包抓取网络数据

    5)RCurl语言包爬取

R可以处理的数据类型(模式)包括数值型、字符型、逻辑型(TRUE/FALSE)、复数型(虚数)、原生型(字节)。

存储数据的对象类型:


标量:只含有一个元素的向量.用于保存常量

                      f <-3 , g <-"US" , h <- TRUE

 

向量        1.只能包含一种数据类型

                     通过在方括号中给定元素所处位置的数值,可以访问向量中的元素。a[c(2,4)]访问向量a中的第二个和第四个元素。               

 

>a <-c(1,2,2,4)

>a

[1] 1 2 24

 

> a <- c(1:10)                      #生成数值序列

>a

 [1] 1  2  3 4  5  6 7  8  9 10

> a[2]                                  #取单个向量

[1] 2

> a[c(3,7,8)]                      #取多个向量

[1] 3 7 8

 

 

 矩阵matrix          1.二维数组

                               2.只能包含一种数据类型,每个元素拥有相同的模式(数值型、字符型或逻辑型)

 

mymatrix <- matrix (vector矩阵元素,nrow=行数,ncol=列数,dimnames=list(以字符型向量表示的列名和行名)byrow=T矩阵按行填充,默认情况下按列填充)

 

##Example1 of setting row and column names

mdat<- matrix(c(1,2,3,11,12,13), nrow = 2, ncol = 3, byrow = TRUE, dimnames =list(c("row1", "row2"),c("C.1", "C.2","C.3")))

##Example2 of setting row and column names

> cells <- c(1,26,24,68)

>rnames <- c ("R1","R2")          #给行取名

>cnames <- c("C1","C2")           #给列取名

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

> mymatrix

   C1 C2

R1  1 26

R2 24 68

 

> x <-matrix(1:20,nrow=4)        #nrow确认,ncol默认

>x                                                  

     [,1] [,2] [,3] [,4] [,5]

[1,]    1   5    9   13  17

[2,]    2   6   10   14  18

[3,]    3   7   11   15  19

[4,]    4   8   12   16  20

> x[1,]                                           #取第二行

[1]  1 5  9 13 17

>x[3,]                                           #取第三行

[1]  3  7 1115 19

> x[,2]                                            #取第二列

[1] 5 6 78

>x[,4]                                            #取第四列

[1] 13 1415 16

>x[2,3]                                          #取第(23)元素

[1] 10

>x[1,c(4,5)]                                  #取第一行,第四、第五列第元素

[1] 13 17

 

 

 数组   array:   1 .维度超过2时用数组,数组中的数据只能拥有一种模式

                         2.数组是矩阵的一个自然推广,2维的数组相当于矩阵A two-dimensional array is the same thing as a matrix.

                                3.一维数组看起来像向量One-dimensionalarrays often look like vectors, but may be handled differently by somefunctions: str does distinguishthem in recent versions of R.

             myarray <- array(vector数组中的数据, dimensions=c(1,2,3……)各个维度下标的最大值, 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

 数据框:  1.多种模式数据(数值型、字符型等)时,使用数据框。不同的列可以包含不同模式的数据。等价于SAS、SPSS、Stata中看到

                   的数据集

                        2.由于数据有多种模式,无法将此数据集放入一个矩阵,这种情况下,使用数据框是最佳选择

          


 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)     #每一列的数据模式必须唯一,但可以将多个模式的不同列放到一起组成数据框

> 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]         #选取数据框中的元素

  patientID age

1         1 25

2         2 34

3         3 28

4         4 52

>patientdata[c("diabetes","status")]    #选取数据框中的元素

  diabetes   status

1    Type1     Poor

2    Type2 Improved

3    Type1 Excellent

4    Type1     Poor

> patientdata$age   #$被用来选取一个给定数据框中的某个特定变量

[1] 25 3428 52

> table(patientdata$diabetes,patientdata$status)   #生成糖尿病类型变量diabetes和病情变量status的列联表

      

        Excellent Improved Poor

  Type1        1        0    2

  Type2        0        1    0

 

 

 

 

 

 列表




二.小容量批处理数据

      R语言是基于内存的数据统计和分析软件,的内存会影响R的运行处理速度。当需要处理T级、Z级数据时,解决方法为算法优化或利用R的packages函数处理大数据,具体实现方法会在后面的博客中介绍给大家。


1.read.命令读取数据

【此处引用数据来自: https://figshare.com 开放数据平台】

【方法一】RConsole   

           

>setwd("~/Desktop")   #设置工作路径/目录

>getwd()                         #查看设置的工作路径

1) txt数据读取 

>read.table("~/Desktop/Data.txt",header=TRUE)


2)csv数据读取

>read.csv("~/Desktop/Data.csv",header=TRUE)   #读取excel/Spreadsheet中的数据

3)非结构化文本数据的读取

>readLines("~/Desktop/Article.txt")  #非结构化文本格式的读取,按行进行数据读入


4)Excel文件的读入

      excel文件的读入,依赖的扩展packages,很多是需要Java才能安装,如果是普通的excel文件,可以转换为.csv格式,可以先将excel文件转化为.csv格式的文件再进行读取。

    直接读取excel文件的方法:

(packages的安装方法见 本系列博客Mac版R语言入门(一)R语言入门操作http://blog.csdn.net/nicolelovesmath/article/details/53244337第四部分

      方法IRODBC

                  RODBC依赖于ODBC的驱动程序管理器,安装完RODBC之后,需要配置ODBC的驱动程序,实现连接之后,才能调用RODBC的包。此处需要注意SQL的版本和R版本的兼容。

      方法II:XLSX包

                   XLSX包,需要安装rJAVA的程序包。与电脑环境有关,电脑安装rJava难度很大,不建议使用

      方法IIIXLConnect

                 XLConnect安装

              

package安装完成


5)网络数据的访问

>read.csv("https://figshare.com/articles/Data_xlsx/4233182")






【方法二】RStudio


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31411.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言学习笔记——统计结果保存到本地文件(word、txt、csv)

1. 保存为word或txt文件 sink&#xff08;&#xff09;&#xff1a;在代码开始前&#xff1a;sink(“输出文件名.txt”)&#xff0c;将结果全部输出到工作文件夹下的名为 "输出文件名.txt" 的文档。这时在R控制台的输出窗口中看不到输出结果&#xff0c;代码结束时用…

R/ggplot2保存图片中文字体至PDF——showtext包一文清除所有障碍

R/ggplot2保存图片中文字体至PDF——showtext包一文清除所有障碍 文章概要1.问题描述2.Showtext包使用流程全注释2.1案例介绍——导入线上的谷歌字体2.2实例测试——导入本地字体&#xff0c;以宋体、新罗马为例 3拓展-新罗马与Serif的不同4.showtextggsave保存图片字体大小设置…

Rstudio读取csv文件

读取csv文件老是失败&#xff0c;就一直在社区找方法&#xff0c;结合了多篇文章&#xff0c;终于成功&#xff0c;我谢 错误类型&#xff1a; 1、Error in file(file, "rt", encoding fileEncoding) : cannot open the connection In addition: Warning message…

利用R处理PDF文件

pdftools pdftools是一个专门用来处理pdf文件的包 pdftools pdf_text() pdf_text()#将pdf每页返回成(return)成一个character vector. > #举个例子 > a <- pdf_text("41375_2012_BFleu2012127_MOESM29_ESM.pdf") > #查看pdf页数 > length(a) [1] 2…

R语言NetCDF格式数据的读写

常用函数&#xff1a; nc_open 打开.nc文档 nc_close 关闭.nc文档 nc_create 新建.nc文档 ncvar_get 读取变量数据 ncatt_get 读取变量属性 ncvar_def 设定变量 ncdim_def 设定维度 ncvar_add 添加变量 ncvar_put 写入变量数据 ncatt_put 写入变量属性 一、读取.nc格…

R语言中的导出为pdf文件或txt文件的注意事项

最近看了下R语言的书&#xff0c;练练手发现一些问题 比如保存图像为pdf文件&#xff0c;我一开始老是显示文件为不含页面&#xff0c;后来才想清楚其中的道理 首先输入 pdf("mypdf.pdf") 然后用source执行一段脚本 source("script2.R") 如果你前面没…

chatgpt赋能Python-pythonmean

Pythonmean: 为什么它是新时代最炙手可热的框架&#xff1f; 什么是Pythonmean&#xff1f; Pythonmean是一个全平台支持的JavaScript全栈框架&#xff0c;其核心框架是AngularJS、Node.js、Express.js和MongoDB的组合。Pythonmean提供了一个快速、统一、易于维护的开发框架&…

chatgpt赋能Python-pythonmul

Pythonmul——让Python更加高效的优化工具 Python是一种被广泛应用于数据分析、科学计算、人工智能等各个领域的高级编程语言。由于其简单易学、灵活多样的编程风格以及庞大的社区支持&#xff0c;Python成为了许多开发者的首选语言。但是&#xff0c;Python在执行某些操作时可…

chatgpt赋能python:Python如何删除列表中的重复数据

Python如何删除列表中的重复数据 介绍 Python是一种高级编程语言&#xff0c;可用于开发各种类型的应用程序&#xff0c;包括网站&#xff0c;桌面应用程序&#xff0c;数据分析和机器学习。在Python编程中&#xff0c;经常需要对列表中的数据进行操作。有时候&#xff0c;我…

chatgpt赋能python:使用Python快速提取重复元素的方法

使用Python快速提取重复元素的方法 当我们处理数据集时&#xff0c;经常需要排重操作&#xff0c;以保证数据的准确性和完整性。而Python作为一种常用的编程语言&#xff0c;具有处理数据的优势和快速性&#xff0c;今天我们将介绍使用Python快速提取重复元素的方法。 什么是…

chatgpt赋能python:Python中如何去掉重复项

Python中如何去掉重复项 在Python的编程中&#xff0c;常常会遇到需要去掉重复项的情况。重复项的存在会极大地影响程序的效率和准确性。在本篇文章中&#xff0c;我们将讨论Python中如何去掉重复项&#xff0c;包括使用set()函数、使用列表推导式和使用字典的方法。这些方法都…

chatgpt赋能python:Python一直重复执行怎么写

Python一直重复执行怎么写 如果你用过Python&#xff0c;你可能知道它是一种用于编写Web应用程序&#xff0c;自动化脚本和大数据分析的多功能编程语言。然而&#xff0c;当你编写这些应用程序时&#xff0c;你可能需要重复执行某些代码块。在这篇文章中&#xff0c;我们将探讨…

chatgpt赋能Python-pythonpow

PythonPow&#xff1a;一个强大的Python库 PythonPow是一个强大的Python库&#xff0c;可以帮助开发者在Python中更轻松地实现各种功能。本文将介绍PythonPow的特点和优势&#xff0c;并探讨如何使用PythonPow提高编程效率。 PythonPow的特点 PythonPow的特点主要包括以下几…

chatgpt赋能python:Python如何删除重复值

Python如何删除重复值 介绍 Python是一种高级编程语言&#xff0c;广泛用于各种领域。随着数据量越来越大&#xff0c;处理数据的需求也越来越大&#xff0c;其中一个常见的问题是如何删除重复的值。在Python中&#xff0c;删除重复值可以使用一些方法&#xff0c;本文将介绍…

chatgpt赋能python:Python中寻找不重复字符的方法

Python中寻找不重复字符的方法 Python是一种著名界面友好、易学易用且功能强大的编程语言&#xff0c;广泛应用于各种需求中。在本篇文章中&#xff0c;我们将会讨论如何使用Python编程语言来寻找一个字符串中的不重复字符。我们将简单介绍如何实现这个过程以及为什么这个过程…

chatgpt赋能python:Python中如何重复一段代码

Python中如何重复一段代码 在Python编程中&#xff0c;我们经常会遇到需要重复执行一段代码的情况。有些初学者可能会采用CtrlC和CtrlV的复制粘贴方式&#xff0c;或是手动多次调用同一个方法的方式来达到重复执行的目的。但其实Python提供了简单有效的方法来实现代码重复执行…

chatgpt赋能python:Python列表去除重复项的方法

Python列表去除重复项的方法 Python 中的列表是常用的数据类型&#xff0c;在实际项目中大量使用。有时候&#xff0c;在列表中可能会出现重复项&#xff0c;这会影响程序的正确性和效率。因此&#xff0c;如何去除Python列表中的重复项成为一个常见的需求。 本文将介绍 Pyth…

探索ChatGPT:了解语言模型在对话系统中的应用

第一章&#xff1a;引言 在当今数字化时代&#xff0c;人工智能技术的迅猛发展使得对话系统成为一个备受关注的领域。随着语言模型的进步&#xff0c;像ChatGPT这样的模型正在改变我们与计算机进行交流的方式。本文将探索ChatGPT作为一种语言模型在对话系统中的应用&#xff0…

当大语言模型遇上扩散模型(一、简要介绍)

当大语言模型遇上扩散模型&#xff08;一、简要介绍&#xff09; 文章目录 当大语言模型遇上扩散模型&#xff08;一、简要介绍&#xff09;总览正文资源汇总 总览 本系列文章对近期学习的大语言模型&#xff08;LLM&#xff09;和扩散模型&#xff08;Diffusion Model&#x…

AI平台Bard、文心一言、New Bing介绍

提起ai产品&#xff0c;大家用的多的&#xff0c;可能还是chatgpt,今天&#xff0c;让我们来了解下另外几款&#xff1a; 一、谷歌公司推出的Bard: https://bard.google.com/ 缺点就是&#xff1a;目前只支持英文提问&#xff1a; 还是具备一定的上写文的能力的&#xff0c;比如…