千家信息网

R语言数据重塑和导出的方法

发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,本篇内容介绍了"R语言数据重塑和导出的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天跟大家简
千家信息网最后更新 2025年02月19日R语言数据重塑和导出的方法

本篇内容介绍了"R语言数据重塑和导出的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

今天跟大家简单介绍下几个常用的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条记录。

数据重塑(宽转长):

本例就按照导入的成绩宽数据作为演示案例:

我们想要将以上导入的数据转成长数据,也就是一维表(姓名、科目、分数)

加载数据重塑包:

library("reshape2")

mydata <- melt(data, id.vars = "姓名",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语言数据重塑和导出的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 语言 文件 姓名 字段 学习 数据分析 环境 科目 笔记 语言学习 分析 可视化 工作 支持 复杂 代码 参数 情况 成绩 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发厂家代理商 建站之星修改数据库信息 盘龙区品牌软件开发价格走势 闽盾杯网络安全大赛是干嘛的 网信办网络安全宣传周活动方案 于占起中国影响力人物数据库 网络安全教育新的体会 软件开发交付 源代码 宝马精简数据库 亿工匠科技互联网装饰 网络安全宣传活动的手抄报 win7 有服务器管理吗 压力测试增大服务器压力 僵尸毁灭工程服务器怎么刷车 微信服务器配置域名不安全 华为网络技术书电子版 地下城连接不上服务器闪退 模拟山羊无法连接游戏服务器 黑客文化与网络安全学什么 mysql数据库不能远程访问 崇明区无线网络技术售后保障 阿里巴巴网络技术有限公司简称 技嘉服务器出货量 浙江网络安全学院报名不了 无线网络安全管理论文 海纳科技互联网有限公司 区委网络安全委员会议 nacos不使用数据库 国家网络安全技术中心招聘 河北英雄联盟服务器云空间
0