用R语言进行数据分析:一个简单的会话
下面的会话让你在操作中对 R 环境的一些特性有个简单的了解。你对系统的许多特性开始时可能 有点不熟悉和困惑,但这些迷惑会很快 消失的。
登录,启动你的桌面系统。$ R以适当的方式启动 R。R 程序开始,并且有一段引导语。
(在 R 里面,左边的提示符将不会被显示防止 混淆。)
help.start()启动 HTML 形式的在线帮助(使用你的计算机里面 可用的浏览器)。你可以用鼠标 点击上面的链接。最小化帮助窗口,进入下一部分。x <- rnorm(50)y <- rnorm(x)产生两个伪正态随机数向量 x 和 y。plot(x, y)画二维散点图。一个图形窗口会自动出现。ls()查看当前工作空间里面的 R 对象。rm(x, y)去掉不再需要的对象。(清空)。x <- 1:20等价于 x = (1, 2, …, 20)。w <- 1 + sqrt(x)/2标准差的`权重’向量。dummy <- data.frame(x=x, y= x + rnorm(x)*w)dummy创建一个由x 和 y构成的双列数据框, 查看它们。fm <- lm(y ~ x, data=dummy)summary(fm)拟合 y 对 x 的简单线性回归,查看 分析结果。fm1 <- lm(y ~ x, data=dummy, weight=1/w^2)summary(fm1)现在我们已经知道标准差,做一个加权回归。attach(dummy)让数据框中的列项可以像一般的变量那样使用。lrf <- lowess(x, y)做一个非参局部回归。plot(x, y)标准散点图。lines(x, lrf$y)增加局部回归曲线。abline(0, 1, lty=3)真正的回归曲线:(截距 0,斜率 1)。abline(coef(fm))无权重回归曲线。abline(coef(fm1), col = "red")加权回归曲线。detach()将数据框从搜索路径中去除。plot(fitted(fm), resid(fm), xlab="Fitted values", ylab="Residuals", main="Residuals vs Fitted")一个检验异方差性(heteroscedasticity)的标准回归诊断图。 你可以看见吗?qqnorm(resid(fm), main="Residuals Rankit Plot")用正态分值图检验数据的偏度(skewness),峰度(kurtosis)和异常值(outlier)。 (这里没有多大的用途,只是演示一下而已。)rm(fm, fm1, lrf, x, dummy)再次清空。
第二部分将研究 Michaelson 和 Morley 测量光速的经典实验。这个数据集可以 从对象 morley 中得到,但是我们从中读出数据以演示 函数 read.table 的作用。
filepath <- system.file("data", "morley.tab" , package="datasets")filepath得到文件路径。file.show(filepath)可选。查看文件内容。mm <- read.table(filepath)mm以数据框的形式读取 Michaelson 和 Morley 的数据,并且查看。 数据由五次实验(Expt 列),每次运行 20 次 (Run列)的观测得到。数据框中的 sl 是光速的记录。 这些数据以适当形式编码。mm$Expt <- factor(mm$Expt)mm$Run <- factor(mm$Run)将 Expt 和 Run 改为因子。attach(mm)让数据在位置 3 (默认) 可见(即可以直接访问)。plot(Expt, Speed, main="Speed of Light Data", xlab="Experiment No.")用简单的盒状图比较五次实验。fm <- aov(Speed ~ Run + Expt, data=mm)summary(fm)分析随机区组,`runs’ 和 `experiments’ 作为因子。fm0 <- update(fm, . ~ . - Run)anova(fm0, fm)拟合忽略 `runs’ 的子模型,并且对模型更改前后 进行方差分析。detach()rm(fm, fm0)在进行下面工作前,清空数据。
我们现在查看更有趣的图形显示特性:等高线和影像显示。
x <- seq(-pi, pi, len=50)y <- xx 是一个在 区间 [-pi\, pi] 内等间距的50个元素的向量, y 类似。f <- outer(x, y, function(x, y) cos(y)/(1 + x^2))f 是一个方阵,行列分别被 x 和 y 索引,对应的值是函数 cos(y)/(1 + x^2) 的结果。oldpar <- par(no.readonly = TRUE)par(pty="s")保存图形参数,设定图形区域为“正方形”。contour(x, y, f)contour(x, y, f, nlevels=15, add=TRUE)绘制 f 的等高线;增加一些曲线显示细节。fa <- (f-t(f))/2fa 是 f 的“非对称部分”(t() 是转置 函数)。contour(x, y, fa, nlevels=15)画等高线,…par(oldpar)… 恢复原始的图形参数。image(x, y, f)image(x, y, fa)绘制一些高密度的影像显示,(如果你想要,你可以保存 它的硬拷贝), …objects(); rm(x, y, f, fa)… 在继续下一步前,清空数据。
R 可以做复数运算。
th <- seq(-pi, pi, len=100)z <- exp(1i*th)1i 表示复数 i。par(pty="s")plot(z, type="l")图形参数是复数时,表示虚部对实部画图。这可能是 一个圆。w <- rnorm(100) + rnorm(100)*1i假定我们想在这个圆里面随机抽样。一种方法 将让复数的虚部和实部值是标准正态随机 数 …w <- ifelse(Mod(w) > 1, 1/w, w)… 将圆外的点映射成它们的倒数。plot(w, xlim=c(-1,1), ylim=c(-1,1), pch="+",xlab="x", ylab="y")lines(z)所有的点都在圆中,但分布不是 均匀的。w <- sqrt(runif(100))*exp(2*pi*runif(100)*1i)plot(w, xlim=c(-1,1), ylim=c(-1,1), pch="+", xlab="x", ylab="y")lines(z)第二种方法采用均匀分布。现在圆盘中的点 看上去均匀多了。rm(th, w, z)再次清空。q()离开 R 程序。你可能被提示是否保存 R 工作空间, 不过对于一个调试性的会话,你可能不想 保存它。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-03在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-03在数据分析的江湖里,有两个阵营总是争论不休。一派信奉“大即是美”,认为数据越多越好;另一派坚守“小而精”,力挺质量胜于规 ...
2025-01-02数据分析是一个复杂且多维度的过程,从数据收集到分析结果应用,每一步都是对信息的提炼与升华。可视化分析结果,以图表的形式展 ...
2025-01-02在当今的数字化时代,数据分析师扮演着一个至关重要的角色。他们如同现代企业的“解密专家”,通过解析数据为企业提供决策支持。 ...
2025-01-02数据分析报告至关重要 一份高质量的数据分析报告不仅能够揭示数据背后的真相,还能为企业决策者提供有价值的洞察和建议。 年薪 ...
2024-12-31数据分析,听起来好像是技术大咖的专属技能,但其实是一项人人都能学会的职场硬核能力!今天,我们来聊聊数据分析的核心流程,拆 ...
2024-12-31提到数据分析,你脑海里可能会浮现出一群“数字控”抱着电脑,在海量数据里疯狂敲代码的画面。但事实是,数据分析并没有你想象的 ...
2024-12-31关于数据分析师是否会成为失业高危职业,近年来的讨论层出不穷。在这个快速变化的时代,技术进步让人既兴奋又不安。今天,我们从 ...
2024-12-30数据分析师在现代企业中扮演着关键角色,他们的工作内容不仅丰富多样,还对企业的决策和发展起着重要的作用。正如一个经验丰富的 ...
2024-12-29数据分析师的能力要求 在当今的数据主导时代,数据分析师的角色变得尤为重要。他们不仅需要具备深厚的技术背景,还需要拥有业务 ...
2024-12-29随着技术的飞速发展与行业的持续变革,不少人心中都存有疑问:到了 2025 年,数据分析师还有前途吗?给你分享一篇阿里P8大佬最近 ...
2024-12-29如何构建数据分析整体框架? 要让数据分析发挥其最大效能,建立一个清晰、完善的整体框架至关重要。今天,就让我们一同深入探讨 ...
2024-12-27AI来了,数分人也可以很省力,今天给大家介绍7个AI+数据分析工具,建议收藏。 01酷表 EXCEL 网址:https://chatexcel.com/ 这是 ...
2024-12-26一个好的数据分析模型不仅能使分析具备条理性和逻辑性,而且还更具备结构化和体系化,并保证分析结果的有效性和准确性。好的数据 ...
2024-12-26当下,AI 的发展堪称狂飙猛进。从 ChatGPT 横空出世到各种大语言模型(LLM)接连上线,似乎每个人的朋友圈都在讨论 AI 会不会“ ...
2024-12-26数据分析师这个职业已经成为了职场中的“香饽饽”,无论是互联网公司还是传统行业,都离不开数据支持。想成为一名优秀的数据分析 ...
2024-12-26在数据驱动决策成为商业常态的今天,数据分析师这一职业正迎来前所未有的机遇与挑战。很多希望转行或初入职场的人士不禁询问:数 ...
2024-12-25数据分析师,这一近年来炙手可热的职业,吸引了大量求职者的注意。凭借在大数据时代中的关键作用,数据分析师不仅需要具备处理数 ...
2024-12-25在当今数字化变革的浪潮中,数据分析师这一职业正迎来前所未有的发展机遇。回想我自己初入数据分析行业时,那种既兴奋又略显谨慎 ...
2024-12-25