R语言_数据读取与输出

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 数据读取与输出

数据读取

单个文件数据读取

读取txt格式数据

df <- read.table("xu.txt",header= TRUE)

读取xlsx的文件

library(xlsx)
df <- read.xlsx("xu.xlsx",1)

读取网页表格

补充
windows和Linux的文件路径

(1)windows的文件路径格式“E:Pythonworkplacecodes”单反斜杠的方式,但是在很多编程语言中会不认识“”字符,可能会把它识别成转译字符,通常我们在windows引用路径的时候需要用“\”来表示“”,windows的文件路径的正确写法在程序中最好是“E:\Python\workplace\codes”。

(2)linux的文件路径格式为“python/workplace/codes”这种单斜杠的方式,这种路径很多时候是可以适用在windows下的,但是会有一定的弊端,当路径中有空格的时候这种路径方式就不适用与windows

如果是想抓去网页上的某个表格,那么可以使用XML包中的readHTMLTable()函数。例如我们想获得google统计的访问最多的1000名网站数据,则可以象下面这样做。关于这个函数可以参考这篇博文。
url <- 'http://www.google.com/adplanner/static/top1000/'
data <- readHTMLTable(url)
names(data)
head(data[[2]])


批量读取本地文件

在批量读取文档时一般先将其存放在某一个目录下。先用dir()函数获取目录中的文件名,然后用paste()将路径合成,最后用循环或向量化方法处理文档。

doc.names <- dir("path")
doc.path <- sapply(doc.names,function(names) paste(path,names,sep='/'))
doc <- sapply(doc.path, function(doc) readLines(doc))

将一个文件夹下的多个相同的文件合并起来

library(dplyr)
nameList <- list.files("GSE48213_RAW/") # list.files用于列出文件夹下所包含的文件名
matrix <- read.table(paste0("GSE48213_RAW/",nameList[1]),header = T)
for (i in 2:length(nameList)){
  matrix <- inner_join(matrix,
                       read.table(paste0("GSE48213_RAW/",nameList[i]),header = T),
                       by="EnsEMBL_Gene_ID")
}
save(matrix,file = "56_cell_expression.Rda")

数据库连接取数

library(RMySQL)
connectMySQL<-function(mysql,dbname,user,password,host){
  drv<-dbDriver(mysql)
  return(dbConnect(drv,dbname,user,password,host))
}
connect <- function()
{
  con <- connectMySQL(mysql = "MySQL", dbname = "test", user = "***", password = "A", host = "10.***")
  return(con)
}
con=connect()
news=dbGetQuery(con,"select news_content from news_cms where substr(news_time,1,10)='2016-05-09';")

输出数据

write.table(AAPL, file = "E:/R脚本/data.csv", append =FALSE)

与数据库相连输出数据

con<-connect()
dbWriteTable(con, "cookie_adlog_2", ad_msg,row.names =FALSE, overwrite = TRUE)

overwrite: 一个逻辑值,是否覆盖表中的数据,默认为FALSE
append: 一个逻辑值,是否是追加数据到已存在的表,默认为FALSE

保存为逗号分割文本

write.csv(d, file = "c:/data/foo.csv", row.names = F, quote = F)

保存为R格式文件

save(d, file = "c:/data/foo.Rdata")

存到本地

save(I,file="/opt/mllib_data/futureKPI/futureUserIndex.dat")

通过R在mysql建表

data_delete<-dbGetQuery(conn,str_c("CREATE TABLE ss_usr_trd_anlytcs
                                   (
                                   dy    varchar(8) comment '时间',
                                   eqt_id varchar(500) comment '用户名',
                                   rgstr_date   varchar(50)  comment '注册时间',
                                   fst_trd_date  varchar(50)  comment '首次成交时间',
                                   lst_trd_date varchar(50)  comment '最近1次成交时间',
                                   lst_trd_amt  double comment '最近1次成交金额',
                                   trd_sccss_cnt_lst_mnth      int comment '最近1个月累计成交次数',
                                   trd_amt_lst_mnth    double comment '最近1个月累计成交金额',
                                   trd_sccss_cnt_thr_mnth  int comment '最近3个月累计成交次数',
                                   trd_amt_thr_mnth  double comment '最近3个月累计成交金额',
                                   accmltd_trd_sccss_cnt    int comment '累计成交次数',
                                   accmltd_trd_amt     double comment '累计成交金额',
                                   trd_cnt_lst_mnth      int comment '最近1个月累计交易次数',
                                   ss_usr_type   text  comment '用户类型',
                                   ss_strtg_prdct  text comment '购买的及购买次数和总金额数',
                                   ss_strtg_trnd_wght text comment '按次数、金额、时间计算产品类别及其权重',
                                   strtg_type       text comment '类型及其次数',
                                   ss_prdct_type  text comment '产品类别及其购买次数 ',
                                   ss_strtgs_lvl   text comment '等级及次数'
                                   )
                                   ENGINE=MyISAM DEFAULT CHARSET=utf8", collapse = ""))
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
4月前
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
3月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
4月前
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
4月前
|
数据处理
R语言数据合并:掌握`merge`与`dplyr`中`join`的巧妙技巧
【8月更文挑战第29天】如果你已经在使用`dplyr`进行数据处理,那么推荐使用`dplyr::join`进行数据合并,因为它与`dplyr`的其他函数(如`filter()`、`select()`、`mutate()`等)无缝集成,能够提供更加流畅和一致的数据处理体验。如果你的代码中尚未使用`dplyr`,但想要尝试,那么`dplyr::join`将是一个很好的起点。
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
4月前
|
SQL 数据挖掘 数据处理
R语言数据操作:使用dplyr进行数据处理的深度探索
【8月更文挑战第27天】`dplyr`包以其简洁、强大的数据处理能力,在R语言的数据分析领域占据了重要地位。通过`select()`、`filter()`、`arrange()`、`mutate()`和`summarise()`等核心函数,结合管道操作符`%>%`,我们可以轻松地完成数据筛选、排序、变换和汇总等操作。掌握`dplyr`的使用,将极大地提高我们在R语言中进行
|
7月前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
7月前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)