从零开始学R数据分析,数据概览
对于统计学专业的学生,对于R软件的使用并不陌生,堪称数理统计软件的标配,R软件也可以做数据处理和数据分析,虽说职场工作对于R软件使用不多,但是R软件绝对是科研人数据分析的最爱。
本文主要讲解获取数据后,如何对于数据的整体情况做预览,包括数据导入、数据表查看、数据导出等功能,下面一起来学习。 示例工具:R x64 3.5.3、RStudio
本文讲解内容:数据概览
适用范围:数据导入、导出、概览
R软件读取数据文件,这里主要介绍三种文件的读取,分别是文本文件读取、csv文件读取、xlsx文件读取。
一、数据读取与生成
1.纯文本文件
读纯文本文件使用的是read.table()函数,read.table()函数的参数如下所示。 read.table(file, header = FALSE, sep = "", quote = """",row.names, col.names,nrows = -1,skip = 0, encoding = "unknown", text, skipNul = FALSE)
file是读入数据的文件名,header=TRUE表示所读数据的第一行为变量名,sep是数据分隔的字符,row.names, col.names对于行名和列名可以指定命名,skip表示读数据时跳过的行数,使用ead.table()函数导入文本数据如下所示,指定分隔符为逗号,第一行作为变量名。 df <- read.table("C:Users尚天强DesktopR数据集data.txt",sep = ",",header=TRUE) df
2.CSV文件
读CSV文件跟读文本文件的参数一样,参数如下所示。 read.csv(file, header = TRUE, sep = ",", quote = """,dec = ".", fill = TRUE, comment.char = "")
这里直接使用read.csv读取,默认是逗号分隔这里可以不写。 df1 <- read.csv("C:Users尚天强DesktopR数据集data.csv") df1
3.XLSX文件
R读取Excel数据,需要安装readxl包,安装完成才能加载使用。 #安装包 install.packages("readxl") #进行加载包 library(readxl)
安装完成readxl包后,使用read_excel命令即可导入数据。 df2=read_excel("C:Users尚天强DesktopR数据集data.xlsx") df2
4.生成数据表
生成数据表使用data.frame命令,与之前pandas生成数据表类似,生成的数据表如下。 #手动创建数据表 data<-data.frame(ID=c("c001","c002","c003","c004","c005","c006","c007","c008","c009","c0010"), NAME=c("Rmesh","Khilan","Kaushik","Chaitali","Hardik","Komal","Tom","Muffy","Susan","Kevin"), AGE=c(23,20,23,25,27,24,26,31,26,30), ADDRESS=c("Ahmed","Delhi","Kota","Mumbai","Bhopal","MP-A","MP-B","Indore","JP-No.1","JP-No.2"), SAL=c(2000,1500,2000,NA,8500,NA,5500,9500,NA,900))
二、数据概览
1.数据维度 #查看数据维度 dim(data)
数据的维度为10行5列。
2.查看数据表 #查看数据表 fix(data)
调用fix函数,会出现交互模式,对于其中的一些数据和变量名进行修改,使用起来跟EXCEL一样方便。
3.查看特定列的格式
使用typeof函数查看数据格式,其中ID、NAME、ADDRESS为字符类型,AGE、SAL为数值类型。 typeof(data$ID) typeof(data$NAME) typeof(data$AGE) typeof(data$ADDRESS) typeof(data$SAL)
4.查看空值
Is.na函数用于检查R中的空值,当返回的结果为True时,说明数据有空值,返回的结果为False时,说明数据没有空值,以下可以看到数据有3个空值。 #查看空值 is.na(data)
查看具体某一列是否有空值,可以单独索引那一列,然后使用Is.na函数。 #查看单列的空值 is.na(data$SAL)
计算某一列有几个空值,可以先判断是否为空值,然后使用length函数计算其个数,听过计算可以得出SAL列有3个空值。 #判断并计算某一列有几个空值 length(data$SAL[is.na(data$SAL)==TRUE])
5.查看唯一值
unique()函数用于查看数据表的唯一值,功能与EXCEL中去除重复值的功能一致。 #查看数据表的唯一值(删除重复值) unique(data)
对于单列去除重复值,可以将那一列索引出来,然后使用unique()函数去除重复值。 #查看数据表中SAL列的唯一值 unique(data$SAL)
6.查看数据表数值
R中有多个函数用来查看数据表中的数据,包括数据的范围、数据的极值等,下面的代码用于查看数据范围与极值的范围。 #查看数据范围 range(data$AGE) #查找最小值 min(data$AGE) #查看最小值最在的行位置 which.min(data$AGE) #查找最大值 max(data$AGE) #查看最大值所在的行位置 which.max(data$AGE)
7.查看列名称
names()函数查看数据表中的列名称。 names(data)
8.数据预览
head()函数用来查看数据表中的前N行数据,默认显示前10行数据,可以自己设置参数n的值来确定查看的行数。 #查看前5行 head(data,n = 5)
tail函数与head()函数相反,用来查看数据表中后N行的数据,默认显示后10行数据,可以自己设置参数n的值来确定查看的行数。 #查看后3行 tail(data,n=3)
三、数据导出
1.导出为csv文件 #输出到csv格式文件 write.csv(x = data,file = "C:Users尚天强Desktopout_table.csv",row.names = FALSE)
2.导出为txt文件 #输出到txt格式文件 write.table(x=data,file = "C:Users尚天强Desktopout_txt.txt",sep = ",",row.names = FALSE)