学习R语言的第一步除了下载软件外,应该就是读取和写出数据了,有了数据我们才能进行其他操作,今天为大家介绍R语言读取、写出数据的操作。
1、不需要代码的读取数据的操作
(1)File——open file——文件,但是这个操作不能打开太大的文件,如下图
(2)点击environment中的import Dataset可选择的文件格式有text、excel、spss、SAS、stata
(3)在R中键盘输入数字
在R中我们可以通过edit()函数键入我们需要的数字,具体步骤为:使用edit()函数调出文本编辑器来进行数据的输入,先创建一个空的数据框或者矩阵,其中变量名和变量的类型需要与理想中的最终数据类型一样。
如:
mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))#创建一个空数据框,条目分别是年龄、性别、体重
mydata<-edit(mydata)#编辑数据框
编辑的结果需要赋值回对象本身。函数 edit()事实上是在对象的一个副本 上进行操作的。如果不将其赋值到一个目标,所有修改将会全部丢失。
2、代码操作的读取文件
读取文件的代码有很多,这里我只介绍两个包“readxl”和“data.table"包。
library(readxl)
mydata<-read.csv("e:/R语言与医学生.csv")-默认把第一行为列名
如果没有列名的,可以mydata<-read.csv("e:/R语言与医学生.csv",header = F)
另外还有read_excel();read_xls();read_xlsx()分别读取相对应的文件,三者的参数相同,以read_xls()为例。几个重要的参数如下:
read_xls(path,sheet = NULL, range = NULL, col_names = TRUE,col_types = NULL, na ="", trim_ws = TRUE, skip = 0,
n_max = Inf, guess_max = min(1000,n_max),progress = readxl_progress(), .name_repair = "unique")
参数意义
path 文件的路径,如"e:/R语言与医学生.xls"
sheet 被读取的表名字,如一个表中有多个表
range 被读取的范围,如"A1:E4"指读取表格“A1"到”E4“的区域
col_namescol_names = TRUE 行名默认为TRUE会把第一行作为行名读取,等于FALSE则把第一行也当作表格中的内容读取
na na ""缺失值,默认情况把空白格也当作缺失值
skip 读表前要跳跃不读的行数,即从第几行开始读取
n_max 读取的最大行数
如建立一个文件:
mydata<-read_xls("e:/R语言与医学生.xls",sheet = "表2",range="A1:E4")
大家能转化为csv的尽量转为csv,读取的效率会非常高。
在数据很大,上万或几十万的时候,推荐使用data.table()的fread()函数读取,速度非常快!
library(data.table)
mydata<-fread("e:/R语言与医学生.csv")
3、写出文件
一般写出为csv,代码为write.csv(mydata,"e:/R语言与医学生写出.csv")
小技巧,大家在输入“/”时,可以把鼠标停留在"e:",然后敲击Tab键,就可以出来,自动选择文件
转自:https://mp.weixin.qq.com/s/NF9P5ijGQlVAAbZldF1DRQ