京公网安备 11010802034615号
经营许可证编号:京B2-20210330
用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
CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01在数据库设计与业务数据维护中,自增ID是数据表最常用的主键字段,用于唯一标识每一条业务数据,正常状态下ID应保持连续递增。但 ...
2026-08-31在数理统计、数据分析、经济测算与日常量化评估中,平均值是刻画数据集中趋势、反映整体水平的基础核心指标。在实际应用中,最常 ...
2026-08-31在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-08-31