QQ登录

只需一步,快速开始

使用微信账号登录

查看: 2152|回复: 1

R语言软件导入方法解读

  [复制链接]

该用户从未签到

8

主题

26

帖子

80

积分

注册会员

Rank: 2

积分
80
发表于 2017-9-10 17:06:53 | 显示全部楼层 |阅读模式
生信自学课堂
R语言支持的数据类型很多,但是初学者能接触到却寥寥无几,这里仅仅介绍.TXT、.CSV、直接复制三种方式。(不要问为啥没有xlsx,excel文件属于富文本数据文件格式,导入太麻烦,需要很多转换和专用包的支持,劳神费力)

TXT文件导入:

文件路径在桌面,名为myfile.txt

文件需为很规则的一维表,最好第一行有名称。所有操作均在Rstudio中完成。
语法:

data<-read.csv("C:\\Users\\Administrator\\Desktop\\myfile.csv")  #CSV数据读入

data是自定义名称,“<-”是命名符,等价于“=”,括号内是文件存放路径,如果文件内数据第一行无标题,需要在括号内路径后指定顶行非标题,("******",header = F),默认参数为header=T,即顶行为变量名称。(注意下R认可的路径与PC上文件路径使用的斜杠格式及方向)

导入后,数据文件存放在右上侧environment项目下的data列表中,可以直接点击查看,也可以通过head(data)预览数据前6行记录。
CSV文件导入:

data<-read.table("C:\\Users\\Administrator\\Desktop\\myfile.txt",header=T)#TXT读入:
导入txt文件格式最好直接在路径后指明首行是否为标题,否则容易把第一行直接导入为数据。

剪切板直接复制:

这种方法比较粗暴,当然也较容易出现问题,先在excel或者其他数据文件中复制数据区域,在Rstudio中输入:

data <- read.table("clipboard", header = T, sep = '\t')#直接复制

然后回车或者“Ctrl+L”运行即可导入。
比较推荐前两种,比较保险,不容易出现错误,可以直接将以上语法做笔记保存,需要时直接复制,替换路径和名称直接运行。

以下是小魔方总结的关于R语言包的下载,加载以及更新以及R语言软件更新的方法技巧,供大家参考:

关于包的安装、加载及更新、卸载:

update.packages()#查看可更新包
install.packages("ggplot2")#安装下载工具包
library(ggplot2)#加载下载工具包
detach("ggplot2")#分离包(从内存空间中移除)
remove.packages("ggplot2")#删除(相当于卸载)

关于R语言软件的更新:

install.packages("installr")#下载安装工具包
library(installr) #加载安装工具包
check.for.updates.R()#检测是否有最新版的R软件
installr()#下载并安装新版R软件
copy.packages.between.libraries()#复制旧版R中的包到新版R中

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

该用户从未签到

8

主题

26

帖子

80

积分

注册会员

Rank: 2

积分
80
 楼主| 发表于 2017-9-10 17:20:05 | 显示全部楼层
生信自学课堂
跟大家简单介绍下几个常用的R数据操纵技巧——导入(xlsx)、导出及长宽转换!
数据导入(xlsx)上面关于R导入不同类型数据的方式,但是其中只涉及到.csv、.txt以及直接从剪切板复制。
之所以当时没有介绍xlsx是因为,excel数据文件属于富文本类型,结构相对复杂,需要解除特殊包的支持以及java环境,当时电脑上还没有配置合适的java环境。
后来倒腾一个上午,才算弄完(主要是因为R语言系统版本与Java环境版本需严格一致,否则R语言无法自动探测到Java路径,R语言中的Rjava包便无法加载,而导入xlsx数据需要xlsx包的支持,xlsx包则需要Rjava包的支持)。
所以在导入数据之前,最好先配置好你系统内的java环境,确保其与你的R语言版本一致。
导入xlsx数据所需用到的包:

library("rJava")
library("xlsx")
library("xlsxjars")

以下是导入代码:
data<-read.xlsx("F:\\数据可视化数据分析\\R\\R语言学习笔记\\数据整理\\myfile.xlsx",sheetName="file",header=T,encoding='UTF-8')
以上语法中,括号内第一个参数是路径及文件名,sheetName="file"是指定要导入的excel工作薄内的工作表对象,如果你对工作表有命名,一定要指定名称,如果没有,指定为默认的工作表名称(Sheet1、2、3),第三个参数指定导入数据文件的编码方式(UTF-8)。
可以通过head(data)查看数据集的前6条记录。


长数据立马就可以呈现出来。

可是以上情况太过理想,通常我们要面对的宽数据会很复杂:

倘若我们面临的输入如上所示,想要得到的结果是,姓名、姓名是两列单独的字段,不同科目合并成单独的一个字段。这种结果就稍显复杂。

不过reshape2包仍然可以轻松应对这种情况:

mydata2 <- melt(data, id.vars = c("姓名","性别"),variable.name = "科目", value.name = "成绩")

长数据立马就可以呈现出来。

可是以上情况太过理想,通常我们要面对的宽数据会很复杂:
倘若我们面临的输入如上所示,想要得到的结果是,姓名、姓名是两列单独的字段,不同科目合并成单独的一个字段。这种结果就稍显复杂。

不过reshape2包仍然可以轻松应对这种情况:

mydata2 <- melt(data, id.vars = c("姓名","性别"),variable.name = "科目", value.name = "成绩")

只需在指定主字段时,给id.vars = c("姓名","性别")定义多组主字段就可以了,多组字段要使用逗号区隔。

数据读出:

好了,以上数据转换完成,现在我们要将数据导出了,以下暂且介绍两种类型(xlsx暂不介绍,还是同样的原因,富文本需要设定的参数太多,需要很多工具支持,目前还没太搞明白)

导出CSV文件:

write.table (mydata2, file ="F:\\数据可视化数据分析\\R\\R语言学习笔记\\数据整理\\newdata.csv", sep =",", row.names =FALSE)


运行以上代码,你的对应路径中瞬间就多出一个名为newdata.csv的数据文件:

导出TXT文件:

write.table(mydata2,file="F:\\数据可视化数据分析\\R\\R语言学习笔记\\数据整理\\newdata.txt" , sep =" ", row.names =FALSE,col.names =TRUE, quote =FALSE)

sep指定变量间分隔符,默认为空格,row.names指定是否输出行号,col.names指定是否输出列名,quote指定是否用引号将变量包括。

跑完代码之后,你对应的文件夹目录下就多对出一个名为newdata的TXT格式数据文件,你可以通过导入并查看数据导入格式是否正确:


data3<-read.table("F:\\数据可视化数据分析\\R\\R语言学习笔记\\数据整理\\newdata.txt",header=T)


以上就是本次分享的全部内容,R语言的的很多包内存放了许多高质量的数据集,可以用来做数据分析与处理以及可视化的案例数据,将这些数据导出为TXT或者CSV格式的数据集存放在你的电脑上,以备不时之需。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
18520221056(微信) 周一至周日:09:00 - 22:00
公司官网:http://www.biowolf.cn

速科生物是一家融生信创新、设计、技术开发、服务为核心的生物公司,生信自学网专注于生信培训周边课程开发和代码设计,坚持为客户打造高品质的精品课程和培训服务。

Powered by 生信自学网 © 2016-2019 江西速科生物

QQ|生信自学论坛 ( 赣ICP备19001400号-1 )

GMT+8, 2019-9-23 00:06 , Processed in 0.149642 second(s), 25 queries .

快速回复 返回顶部 返回列表