对于统计学专业的学生,对于R软件的使用并不陌生,堪称数理统计软件的标配,R软件也可以做数据处理和数据分析,虽说职场工作对于R软件使用不多,但是R软件绝对是科研人数据分析的最爱。
本文主要讲解获取数据后,如何对于数据的整体情况做预览,包括数据导入、数据表查看、数据导出等功能,下面一起来学习。
示例工具:R x64 3.5.3、RStudio
本文讲解内容:数据概览
适用范围:数据导入、导出、概览
R软件读取数据文件,这里主要介绍三种文件的读取,分别是文本文件读取、csv文件读取、xlsx文件读取,公众号后台回复R案例数据,获取本文所使用的案例数据。
一、数据读取与生成
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\\尚天强\\Desktop\\R数据集\\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\\尚天强\\Desktop\\R数据集\\data.csv")
df1
3.XLSX文件
R读取Excel数据,需要安装readxl包,安装完成才能加载使用。
#安装包
install.packages("readxl")
#进行加载包
library(readxl)
安装完成readxl包后,使用read_excel命令即可导入数据。
df2=read_excel("C:\\Users\\尚天强\\Desktop\\R数据集\\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\\尚天强\\Desktop\\out_table.csv",row.names = FALSE)
2.导出为txt文件
#输出到txt格式文件
write.table(x=data,file = "C:\\Users\\尚天强\\Desktop\\out_txt.txt",sep = ",",row.names = FALSE)