美文网首页
获取数据

获取数据

作者: 鼓吉石 | 来源:发表于2022-01-12 11:18 被阅读0次

R获取数据的三种途径:

1.键盘输入

2.读取外部文件上的数据

3.访问数据库

使用edit语法编辑手动输入的数据框

data2 <- data.frame(patientID=character(0),admdate=character(0),age=numeric(0),diabetes=character(0),status=character(1))
#使用edit前先得建立目标数据框的格式

data2 <- edit(data2)#使用该语法赋值给目标数据框就会得到一个文本编辑器
#如果想修改数据框,则再来一次edit即可
fix(data2)#或者使用fix函数也可以直接修改

通过读取存储在外部文件上的数据

在读入R之前,数据需要经过python预处理成适合R的数据格式

通过访问数据框获取数据

通过RODBC包读取数据库

读入文件

1纯文本文件

read.tabled读取纯文本文件
如果需要读取的txt在当前工作目录下则直接输入:

> read.table("input.txt")
#当数据框太长时输入以下可以显示头几行和末尾几行
> head(mtcars,n=5)#n后跟想要显示的行数
> tail(mtcars,n=5)

当需要读取的文件不在当前目录下时:

> x <- read.table("C:/Users/RNG/Desktop/RData/input.txt")
#即需要读取目标文件的路径

对于.csv文件在读取时还需要再加一个sep参数

> x <- read.table("C:/Users/RNG/Desktop/RData/input.csv",sep = ",")
#这里的sep后跟的是目标文件的分割符号,所以在打开文件前都需要通过在Windows下用记事本打开文件来得知分隔符

在读取数据文件的时候如果想要第一行变成表头则需要添加header函数:

> x <- read.table("C:/Users/RNG/Desktop/RData/input.csv",sep = ",",header = T)
#header=T表示将第一行作为表头,否则作为数据

对于读取的文件想要跳过部分内容时使用skip函数:

> x <- read.table("C:/Users/RNG/Desktop/RData/input 1.txt",header = T,skip = 5)
#skip=5表示从第六行开始读取数据

想读取文件自定义几行内容时使用nrows函数

> x <- read.table("C:/Users/RNG/Desktop/RData/input 1.txt",header = T,skip = 50,nrows = 200
#skip=50,nrows=200,表示从第50行读取到第200行

对于含有缺失值的数据文件,想要把源文件的缺失值替换为R中的NA时使用na.strings函数:

在R读取数据文件时会默认将文件中的字符类型转换为因子,如果不需要转换则需要把函数stringsAsFactors =F

其他类型read.函数

其他的read.函数类似与read.table,只是针对于特定的文件,比如对于csv文件可以直接使用read.csv读取,此时默认分割符为逗号。
read.fwf用来读取有固定宽度的纯文本文件
read.table(“”)在括号内加入网络文本文件的具体地址还可以读取网络上的文本文件

2读取HTML文件中的表格

使用XML包

> library(XML)
#加载包
#使用readHTMLTable()函数读取
> readHTMLTable("XXX",which = 3)
#xxx为网址,which=3表示读取该网站中第三个表格

3读取其他统计软件文件

当电脑上有该软件时直接将文件另存为csv文件

当电脑上没有该软件时使用foreign包:

> help(package="foreign")
#调出foreign包的帮助文档,然后按照文档写入需要读取文件类型的函数

当需要读取的文件不在foreign包里时:

有对应软件就另存为,没有就网络搜索需要用到的包

4读取压缩包文件

直接使用read.table函数读取

> read.table("C:/Users/RNG/Desktop/RData/input.txt.gz")

相关文章

网友评论

      本文标题:获取数据

      本文链接:https://www.haomeiwen.com/subject/tkemcrtx.html