全网最快入门———R语言机器学习04

简介: R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

这篇是介绍一些错误和对文件的读取写入的方法(操作文件是数据挖掘的基础)

常见错误

定义向量不要忘记加c,定义多个数据时记得要使用c()

使用函数要记得加括号,尽量多使用自动补齐功能

两个等号才是比较是否相等

获取数据

R获取数据一共有三种途径:

利用键盘来输入数据

通过读取存储在外部文件上的数据

通过访问数据库系统来获取数据

读入文件(一)

R读取文件

纯文本文件(.csv/.txt):

通常使用逗号,也可以使用空白分割

1.Read.table()函数可以读取一个纯文本文件,read.table(file=要读入的文件的名称;

2.sep=指定文件使用的分隔符,默认是空白分割;

3.header=代表在读取数据之后是否将数据的第一行作为变量的名称,而不是当成具体的值来处理,如果是,header=T,不是,header=F;

4.skip=表示读取参数时,跳过部分内容,比如说可以跳过一些介绍性文字;nrows=用于读取文件的行数;

5.na.strings=用于处理缺失值的信息)

  1. x <- read.table(file = "input.txt")#需要在工作目录下才可以直接输入名称

如果不在工作目录下,可以利用setwd()函数来更改R的工作目录,或者使用文件的全路径:

可以使用head()和tail()函数读取文件的前几行或者是后几行数据,可以通过函数中选项参数n的数值来确定显示的行数

使用sep可以指定对数据进行分割,使数据格式变得整洁:

如果提前知道文件格式,也可以直接用read.csv()进行直接读取:

例如需要读取文件前100行的数据:

在此基础上使用skip和nrows两个参数相结合,就可以读取任意部分的数据,比如读取上述文件的第10-50行数据:

read.table("input 1.txt",header = T,skip=10,nrows = 50)

R在读取数据时,字符串数据会被默认读取成因子型数据

读入文件(二)

如果一个纯文本文件并不在本机上,R可以支持读取网络文件,可以通过一些协议进行读取,只要将read.table()函数的选项参数file=文件的网络链接即可。R会将文件下载到本地。

如何读取非文本文件?

我们可以使用XML包进行读取,里面包含一个readHTMLTable()函数,可以用于读取网页中的数据。

R中的foreign包可以帮助导入其他软件的数据

或者可以直接导入剪切板的内容,直接将read.table()函数选项参数改为clipboard即可:

R可以直接读取压缩文件,并不需要解压缩

如何写入文件

使用write.table()函数可以将数据写入文件,函数中,write.table(x=写入的数据,file=数据的存储路径及格式”)

如:

x=read.table("input.txt")

write.tale(x,file="H:/Rdata/newfile.txt")

也可以使用sep参数确定分隔符,这样就等同于做了一次数据转换,将文本数据转变成了表格数据

write.table(x,file = "H:/RData/newfile.csv",sep=",")

每一次加载数据,R会自动给每一行数据添加行号,为避免多次打开数据导致行号重复,可使用row.names参数

write.table(x,file = "H:/RData/newfile.csv",sep=",",row.names = F)

R会覆盖同名文件,使用append参数可以添加同名参数

R可以直接写入压缩文件:

write.table(mtcars,gzfile("newfile.txt.gz"))

读写excel文件

可以使用两种方式:

将excel文件另存为csv文件,再使用read.csv()打开

如:

read.csv("H:/RData/mtcars.csv",header = T)

或者将数据复制到剪贴板,使用readclipboard()函数将数据导入R中,在R中打开:

readClipboard()

read.table("clipboard",sep = '\t',header = T)

在R中也提供了很多包用于直接读写excel数据

比如:xlconnect包(这个包依赖于JAVA,需要有java的环境),

如果该R包无法安装,可以使用openxlsx包进行读取,如下:

library(openxlsx)

read.xlsx("H:/RData/data.xlsx",sheet = 1)

还可以使用openxlsx包的函数创建并写入新的excel文件,代码如下:

wb <- createWorkbook()

addWorksheet(wb,sheetName = 1)

x <- mtcars

writeData(wb,sheet = 1,x,startCol = 1,startRow = 1)

write.xlsx(x,"cars.xlsx")

这样就创建了具有mtcars数据的excel文件。

相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
R语言中的机器学习库:caret与mlr的深度解析
【9月更文挑战第2天】Caret和mlr是R语言中两个非常重要的机器学习库,它们在数据预处理、模型构建、调优和评估等方面提供了丰富的功能。Caret以其易用性和集成性著称,适合初学者和快速原型开发;而mlr则以其全面性和可扩展性见长,适合处理复杂的机器学习项目。在实际应用中,用户可以根据具体需求和项目特点选择合适的库进行开发。无论是学术研究、商业智能还是教育场景,这两个库都能为数据科学家和机器学习爱好者提供强大的支持。
|
2月前
|
机器学习/深度学习 人工智能 供应链
掌握机器学习:从理论到实践PHP:从入门到精通的旅程
【8月更文挑战第20天】在探索人工智能的无限可能时,机器学习作为核心驱动力,引领着技术革新和产业变革。本文深入浅出地介绍了机器学习的基本概念、核心算法及其在实际中的应用,旨在为初学者提供一个清晰的学习路径和对这一激动人心领域的全面理解。通过探讨机器学习如何影响我们的生活和工作,本文不仅阐述了理论知识,还分享了实践案例,帮助读者把握机器学习的精髓,激发对未来技术发展的想象与创造。
167 65
|
23天前
|
机器学习/深度学习 人工智能 算法
探索AI的奥秘:机器学习入门之旅
【8月更文挑战第43天】本文将带领读者开启一段奇妙的学习之旅,探索人工智能背后的神秘世界。我们将通过简单易懂的语言和生动的例子,了解机器学习的基本概念、算法和应用。无论你是初学者还是有一定基础的学习者,都能从中获得启发和收获。让我们一起踏上这段激动人心的学习之旅吧!
|
1月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
|
2月前
|
并行计算 IDE 数据挖掘
R语言入门:如何安装与配置环境
【8月更文挑战第27天】通过本文的指南,你应该能够顺利安装并配置R语言环境,以便进行数据分析和编程任务。R语言以其强大的功能和灵活的扩展性,成为数据分析领域的重要工具。希望本文能够帮助你入门R语言,并激发你进一步学习和探索的兴趣。随着经验的积累,你将能够充分利用R语言的优势,提高工作效率和数据处理能力。
|
26天前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【9月更文挑战第10天】神经网络是开启人工智能大门的钥匙,不仅是一种技术,更是模仿人脑思考的奇迹。本文从基础概念入手,通过Python和TensorFlow搭建手写数字识别的神经网络,逐步解析数据加载、模型定义、训练及评估的全过程。随着学习深入,我们将探索深度神经网络、卷积神经网络等高级话题,并掌握优化模型性能的方法。通过不断实践,你将能构建自己的AI系统,解锁机器学习的无限潜能。
21 0
|
2月前
|
机器学习/深度学习 人工智能 算法
探索AI的奥秘:机器学习入门之旅
【8月更文挑战第31天】本文将带领读者开启一段奇妙的学习之旅,探索人工智能背后的神秘世界。我们将通过简单易懂的语言和生动的例子,了解机器学习的基本概念、算法和应用。无论你是初学者还是有一定基础的学习者,都能从中获得启发和收获。让我们一起踏上这段激动人心的学习之旅吧!
|
2月前
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
31 0
|
2月前
|
机器学习/深度学习 自然语言处理 TensorFlow
TensorFlow 入门超简单!从零开始构建你的第一个神经网络,开启机器学习精彩之旅!
【8月更文挑战第31天】本文介绍了流行开源机器学习框架 TensorFlow,涵盖其安装与首个神经网络构建步骤。TensorFlow 由 Google 开发,适用于计算机视觉及自然语言处理等领域。掌握它不仅提升就业机会,还加深对机器学习的理解。通过安装 Python 并使用 pip 命令安装 TensorFlow,即可按照示例构建、训练并评估简单的线性回归模型,快速开启机器学习之旅。
30 0
下一篇
无影云桌面