【20240727】R语言学习笔记-R语言进行商业数据分析

embedded/2024/10/22 13:27:52/

1.数据的录入方式
每个测定对象占一行,自上而下排列。每个测定值占一列,自左至右录入。举个例子,现在要录入某初中 2 个科目的期末考试成绩,此时最好不要每个科目都做一张表。

此外,在进行问卷调查时,要避免出现让答卷者难以抉择的问题或选项。比如“经常光顾”中的“经常”,具体光顾多少次才能算是“经常”,不同答卷者会有不同的标准。所以,这种情况应当用“1 周 5 次以上”之类明确的次数作为选项,让答卷者从中进行选择。
2.列联表
这是对照 2 个属性时所用的统计表。属性在数据分析中也称为名义尺度,简单说来就是表示分类的数据,或者“男或女”“支持或不支持”这种选项。选项又称为水准,比如男女就是 2 个水准。列联表的意义就是将 2 个名义数据的水准组合在一起,统计每种组合对应的人数或个数

3.独立性检验(卡方检验)及其方法
这是一个分析列联表的 2 个属性之间是否存在关联性的方法。举个例子,当我们怀疑“男性对 A 候选人的支持率超过女性”时,就可以用独立性检验来进行验证。用数据分析的术语来讲,如果 2 个属性之间具有关联性,就称为“不相互独立”。至于检验方法,首先要提出零假设,即“2 个属性相互独立”。比如上面这个例子的零假设就是“男女对 A 候选人的支持率相等”。在接下来的检验中,我们将通过数学方法计算该假设成立的概率。

如果概率不足 5%,则抛弃零假设,采信备择假设。备择假设是指“2 个属性不相互独立”,对应到例子中就是“男女对 A 候选人的支持率不相等”。如果概率大于等于5%,则保留零假设,认为“男女对 A 候选人的支持率基本相等”。


R语言代码整理
1.加载数据

加载名为 sample.csv 的数据并以 dat 为名称保存,其命令如下。

> dat <- read.csv ("sample.csv")

还可以用下述方法从对话框中选择文件。

> dat <- read.csv (file.choose())

2.table 函数
这是用来生成列联表的函数。

> table (dat)
    RES
SEX  N  YF  8  6M  5  7

3.管道处理与 dplyr 程序包

> library (dplyr)
> 1:6 %>% mean

有了这一功能,前面例子中的 table(dat) 可以改写成下面这样。各位可以想象成用 %> %(管道运算符)让数据从左边“流向”右边。

> dat %>% table
    RES
SEX  N  YF  8  6M  5  7
  1. chisq.test 函数
    这是进行独立性检验(卡方检验)的函数。举个例子,现在要分析男女对 A 候选人的支持率是否相等。
> chisq.test (dat2)
    Pearson's Chi-squared test with Yates' continuity correction
data: dat2
X-squared = 0.15476, df = 1, p-value = 0.694

这里的 P 值超过了 5%,所以保留零假设“男女对 A 候选人的支持率是独立的”。

卡方检验同样可以通过管道处理来执行。这里我们借助正文中商业街调查问卷的例子,看看店主与顾客的意见之间是否具有显著偏差。其执行方法如下。

> survey <- read.csv("survey.csv")
> survey %>% select(立场, 回答6) %>% table %>% chisq.test
    Pearson's Chi-squared testdata: .
X-squared = 55.489, df = 3, p-value = 5.4e-12

结果不足 5%,所以抛弃零假设“顾客与店主的意见无显著偏差”,采信备择假设“顾客与店主的意见存在偏差”。使用管道运算符处理数据时,通常会连用多个 %> %。上面执行的命令就是一个典型。

「survey %>% select(立场, 回答6)  %>% table %>% chisq.test」

现在我们用文字给上面这一连串处理做个补充说明。

“数据名 %>% 选择待分析的列(select) %>% 生成列联表 (table) %>% 对列联表执行卡方检验”

5.Code3-1 生成条形图

plot (table1)

但本书中的图表更加美观,使用的是 ggplot2 程序包。其执行方法如下。

> library(ggplot2)
> table1 %>% as.data.frame %>% ggplot(aes (x = 立场, y = Freq, fill = 回答6)) + geom_bar(stat="identity") + ylab("人数")

我们用“+”连接了 ggplot() 和 geom_bar() 这 2 个函数。这是先用 ggplot() 指定了数据以及 X、Y 轴对应的变量,然后在这个基础上借助 geom_bar() 将柱状图重叠在了一起。


http://www.ppmy.cn/embedded/86667.html

相关文章

sed利用脚本处理文件

一、sed是什么 sed 命令是利用脚本来处理文本文件。它可以依照脚本的指令来处理、编辑文本文件。主要用来自动编 辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 二、sed的原理 读入新的一行内容到缓存空间&#xff1b; 从指定的操作指令中取出第一条指令&…

秒杀优化: 记录一次bug排查

现象 做一人一单的时候&#xff0c;为了提升性能&#xff0c;需要将原来的业务改造成Lua脚本加Stream流的方式实现异步秒杀。 代码改造完成&#xff0c;使用Jmeter进行并发测试&#xff0c;发现redis中的数据和预期相同&#xff0c;库存减1&#xff0c;该用户也成功添加了进去…

【ffmpeg命令入门】获取音视频信息

文章目录 前言使用ffmpeg获取简单的音视频信息输入文件信息文件元数据视频流信息音频流信息 使用ffprobe获取更详细的音视频信息输入文件信息文件元数据视频流信息音频流信息 总结 前言 在处理多媒体文件时&#xff0c;了解文件的详细信息对于调试和优化处理过程至关重要。FFm…

ThinkPHP一对一关联模型的运用(ORM)

一、序言 最近在写ThinkPHP关联模型的时候一些用法总忘&#xff0c;我就想通过写博客的方式复习和整理下一些用法。 具体版本&#xff1a; topthink/framework&#xff1a;6.1.4topthink/think-orm&#xff1a;2.0.61 二、实例应用 1、一对一关联 1.1、我先设计了两张表&#x…

深入解析Perl的正则表达式:功能、应用与技巧

在编程世界中&#xff0c;正则表达式是一种强大的文本处理工具&#xff0c;它能够用于搜索、替换、匹配字符串等操作。Perl语言以其强大的文本处理能力著称&#xff0c;而其正则表达式功能更是其核心特性之一。本文将深入探讨Perl中的正则表达式&#xff0c;包括其基本语法、应…

photoshop学习笔记——移动工具

移动工具&#xff0c;可以对图层进行移动&#xff0c;快捷键 V 使用的素材已经放上了&#xff0c;直接下载即可 按住ctrl 可以自动选取&#xff0c;鼠标点击哪个对象&#xff0c;自动选中哪个图层 按住 shift 校正角度&#xff08;只能沿着直线移动&#xff09; 按住 alt 拖…

小阿轩yx-FastDFS分布式存储

小阿轩yx-FastDFS分布式存储 FastDFS简介 是一个开源的轻量级分布式文件系统它对文件进行管理解决了大容量存储和负载均衡的问题特别适合以文件为载体的在线服务充分考虑了冗余备份、负载均衡、线性扩容机制注重高可用、高性能指标很容易搭建一套高性能的文件服务器集群提供文…

昇思25天学习打卡营第17天|计算机视觉

昇思25天学习打卡营第17天 文章目录 昇思25天学习打卡营第17天ShuffleNet图像分类ShuffleNet网络介绍模型架构Pointwise Group ConvolutionChannel ShuffleShuffleNet模块构建ShuffleNet网络 模型训练和评估训练集准备与加载模型训练模型评估模型预测 打卡记录 ShuffleNet图像分…