r怎么运行数据分析(怎么用r分析数据)
大家好!今天让创意岭的小编来大家介绍下关于r怎么运行数据分析的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008
本文目录:
一、使用R语言完成一个关于血糖的数据分析,要求以及部分截图如下,求用的到哪些函数和要点
函数是对一些程序语句的封装。换句话说,编写函数,可以减少人们对重复代码书写,从而让R脚本程序更为简洁,高效。同时也增加了可读性。一个函数往往完成一项特定的功能。例如,求标准差sd,求平均值,求生物多样性指数等。R数据分析,就是依靠调用各种函数来完成的。但是编写函数也不是轻而易举就能完成的,需要首先经过大量的编程训练。特别是对R中数据的类型,逻辑判别、下标、循环等内容有一定了解之后,才好开始编写函数。 对于初学者来说,最好的方法就是研究现有的R函数。因为R程序包都是开源的,所有代码可见。研究现有的R函数能够使编程水平迅速提高。
二、R为什么比Excel更适合做数据分析
我从事数据分析工作已经有十年之久。最初是出于工作需要,我的经理给我一堆数据,我需要处理这些数据。当时我一直使用的工具是 Excel,因为这是我熟练掌握的一款工具。三年前,我开始接触到 R,一开始因为功能太多而坚决抵制使用。后来我开始琢磨如何使用。现在我基本不怎么使用 Excel 了。
这只是我个人的观点,但是如果你要分析数据,R 更胜任这项任务。下面来说说为什么 R 更适合数据分析。
R与Excel在数据分析当中的优劣势对比
这两款工具的使用方法截然不同。使用 Excel 时,可以通过鼠标点击完成大部分工作,你可以访问界面内不同位置的各种工具。因此 Excel 非常便于使用(熟能生巧),但是用 Excel 处理数据非常费时,而且如果接手一个新项目,你必须单调地重复这些流程。使用 R 时,则通过代码完成所有操作。你把数据载入内存,然后运行脚本来研究并处理数据。这个工具可能不够人性化,但是有以下几点好处。
我认为,从概念上来说,R 更便于使用。如果你在处理多列数据,虽然你只是在处理单个任务,但是却会看到所有的数据。而使用 R 时,数据都在内存中,只有调出数据才能看到。如果你在转换或计算,你会处理相关列或行的子集,其他所有数据都在后台。我觉得这样更便于关注手头的任务。完成任务后,可将其保存在某个数据帧中,其中只包含所需的列或行数据。你建立了正确的数据集,可解决当前的问题。这样做看似无关紧要,但实际上大受裨益。
借助 R,就可以对其他数据集轻松重复相同的操作。因为所有数据都是通过代码进行处理和研究,因此对新的数据集执行相同的操作也就轻而易举了。使用 Excel 时,大多数操作都是通过鼠标点击实现,虽然用户体验不错,但对新的数据重复操作却非常费时而枯燥。而 R 只需载入新的数据集,然后再次运行脚本即可。
实际上,用代码操作也便于诊断并共享你的分析结果。使用 Excel 时,大多数的分析结果都基于内存(数据透视表在这里,公式编辑器在另一个表格上等)。而在 R 中,通过代码执行所有操作,一目了然。如果你在修正一个错误,你很清楚在哪里操作,而如果你需要共享分析结果,只需复制粘贴代码即可。在线查找帮助时,你能准确说明所用数据,并提出具体的问题。事实上,大多数时候,你在线提问时,人们都是直接贴出准确的代码,来解决你的问题。
R 中的项目组织更简单。在 Excel 中,我要准备一系列表格,可能还要准备多个工作簿,然后适当命名,而且各文件名不得重复。我的项目备注分别保存在各个文件中。我的 R 项目组织单独设有一个文件夹,我处理过的所有内容都放在其中。清理数据、探索性图表及模型。这样便于我理解和查找,也为与我一起工作的其他人提供方便。当然,Excel 也能做到井井有条。我觉得 R 的简洁性更便于使用。
上述几点只能说是锦上添花,而并不是必不可少。在没有这些功能之前,我也用了好几年 Excel,你应该也一样。现在,我想讲讲 R 和 Excel 真正的区别。我想说的是,除了以上那些花哨的小优势之外,R 更适合用于数据分析。原因如下。
你可以把任何数据载入 R。数据的保存位置或保存形式并不重要。你可以载入 CSV 文件,也可以读取 JSON,或者执行 SQL 查询,抑或提取网站。你甚至还可以在 R 中通过 Hadoop 处理大数据。
R 是一个完整的工具集,使用的是数据包。在分析数据时,R 比 Excel 更实用。你可使用 R 执行数据管理、分类和回归,也可以处理图片,并执行其他所有操作。如果机器学习是你的专业,那能想到的任何算法都是小菜一碟。目前,R 可用的数据包逾 5,000 个,因此无论你要处理什么类型的数据,R 都能应付自如。
R 的数据可视化效果非常卓越。说句实话,Excel 的图表非常出色,简单易懂。但 R 的效果更好。我觉得这是 R 最实用的功能之一。借助 ggplot2,你可以快速创建所需的各种图表,并根据图表形状自行调整。在你熟悉了如何用 ggplot2 创建一个图表后,任何其他图表都不在话下。ggplot2 还能制作更多类型的图表。你能用 Excel 创建散点图矩阵吗?用 R 就能轻松创建这种矩阵,CDF plot 也是如此。Excel 棋差一招。
Git 版本控制。我一向习惯保存多个版本的分析结果。Git 是至今为止我找到的最好用的工具。我使用 RStudio 作为编辑器,其支持项目。创建一个项目仓库,然后你就能跟踪数据研究的不同版本。你可以创建不同版本的 Excel 文件,但是这些保存的二进制文件无法显示相互之间的更改部分。而 R 非常简单。
我已经说了很多理由。总之,Excel 是一款不错的数据分析工具。我相信它能不负众望完成所有任务。但是,如果你只有这一款工具,则会大大影响你的工作效率。相比之下,R 更好用,而且提供的工具集模块更完整。而缺点在于不是非常易于上手,用户一开始相对要花很多时间学习使用。如果坚持下去,就会有所收获,不仅对数据更了解,还提高了自己的能力。
三、R语言数据分析-tidyverse
最近学习了一下飞哥的《R语言进阶笔记》( https://dengfei2013.gitee.io/r-language-advanced/ ),干货满满。下面是我总结的精简版,方便遗忘时快速查询。
四、数据分析之美 决策树R语言实现
数据分析之美:决策树R语言实现
R语言实现决策树
1.准备数据
[plain] view plain copy
> install.packages("tree")
> library(tree)
> library(ISLR)
> attach(Carseats)
> High=ifelse(Sales<=8,"No","Yes") //set high values by sales data to calssify
> Carseats=data.frame(Carseats,High) //include the high data into the data source
> fix(Carseats)
2.生成决策树
[plain] view plain copy
> tree.carseats=tree(High~.-Sales,Carseats)
> summary(tree.carseats)
[plain] view plain copy
//output training error is 9%
Classification tree:
tree(formula = High ~ . - Sales, data = Carseats)
Variables actually used in tree construction:
[1] "ShelveLoc" "Price" "Income" "CompPrice" "Population"
[6] "Advertising" "Age" "US"
Number of terminal nodes: 27
Residual mean deviance: 0.4575 = 170.7 / 373
Misclassification error rate: 0.09 = 36 / 400
3. 显示决策树
[plain] view plain copy
> plot(tree . carseats )
> text(tree .carseats ,pretty =0)
4.Test Error
[plain] view plain copy
//prepare train data and test data
//We begin by using the sample() function to split the set of observations sample() into two halves, by selecting a random subset of 200 observations out of the original 400 observations.
> set . seed (1)
> train=sample(1:nrow(Carseats),200)
> Carseats.test=Carseats[-train,]
> High.test=High[-train]
//get the tree model with train data
> tree. carseats =tree (High~.-Sales , Carseats , subset =train )
//get the test error with tree model, train data and predict method
//predict is a generic function for predictions from the results of various model fitting functions.
> tree.pred = predict ( tree.carseats , Carseats .test ,type =" class ")
> table ( tree.pred ,High. test)
High. test
tree. pred No Yes
No 86 27
Yes 30 57
> (86+57) /200
[1] 0.715
5.决策树剪枝
[plain] view plain copy
/**
Next, we consider whether pruning the tree might lead to improved results. The function cv.tree() performs cross-validation in order to cv.tree() determine the optimal level of tree complexity; cost complexity pruning is used in order to select a sequence of trees for consideration.
For regression trees, only the default, deviance, is accepted. For classification trees, the default is deviance and the alternative is misclass (number of misclassifications or total loss).
We use the argument FUN=prune.misclass in order to indicate that we want the classification error rate to guide the cross-validation and pruning process, rather than the default for the cv.tree() function, which is deviance.
If the tree is regression tree,
> plot(cv. boston$size ,cv. boston$dev ,type=’b ’)
*/
> set . seed (3)
> cv. carseats =cv. tree(tree .carseats ,FUN = prune . misclass ,K=10)
//The cv.tree() function reports the number of terminal nodes of each tree considered (size) as well as the corresponding error rate(dev) and the value of the cost-complexity parameter used (k, which corresponds to α.
> names (cv. carseats )
[1] " size" "dev " "k" " method "
> cv. carseats
$size //the number of terminal nodes of each tree considered
[1] 19 17 14 13 9 7 3 2 1
$dev //the corresponding error rate
[1] 55 55 53 52 50 56 69 65 80
$k // the value of the cost-complexity parameter used
[1] -Inf 0.0000000 0.6666667 1.0000000 1.7500000
2.0000000 4.2500000
[8] 5.0000000 23.0000000
$method //miscalss for classification tree
[1] " misclass "
attr (," class ")
[1] " prune " "tree. sequence "
[plain] view plain copy
//plot the error rate with tree node size to see whcih node size is best
> plot(cv. carseats$size ,cv. carseats$dev ,type=’b ’)
/**
Note that, despite the name, dev corresponds to the cross-validation error rate in this instance. The tree with 9 terminal nodes results in the lowest cross-validation error rate, with 50 cross-validation errors. We plot the error rate as a function of both size and k.
*/
> prune . carseats = prune . misclass ( tree. carseats , best =9)
> plot( prune . carseats )
> text( prune .carseats , pretty =0)
//get test error again to see whether the this pruned tree perform on the test data set
> tree.pred = predict ( prune . carseats , Carseats .test , type =" class ")
> table ( tree.pred ,High. test)
High. test
tree. pred No Yes
No 94 24
Yes 22 60
> (94+60) /200
[1] 0.77
以上就是关于r怎么运行数据分析相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读:
华为mobilepartner怎么用(华为mobile手机)