R语言统计分析——数据管理1

news2024/11/23 22:28:39

参考资料:R语言实战【第2版】

        创建分析用数据集:

manager<-c(1,2,3,4,5)
date<-c('10/24/08','10/28/08','10/1/08','10/12/08','5/1/09')
country<-c('US','US','UK','UK','UK')
gender<-c('M','F','F','M','F')
age<-c(32,45,25,39,99)
q1<-c(5,3,3,3,2)
q2<-c(4,5,5,3,2)
q3<-c(5,2,5,4,1)
q4<-c(5,5,5,NA,2)
q5<-c(5,5,2,NA,1)
leadership<-data.frame(manager,date,country,gender,age,
                       q1,q2,q3,q4,q5,stringsAsFactors = FALSE)

1、创建新变量

        在项目研究中,我们经常需要创建新变量或者对现有的变量进行变换。可以通过以下形式的语句来完成:

        变量名<-表达式

        下面的表达式中的运算符含义:

+:加

-:减

*:乘

/:除

^或**:求幂

x%%y:取余数,5%%2的结果为1。

x%/%y:取整数,5%/%2的结果为2。

# 创建新变量
mydata<-data.frame(x1=c(2,2,6,4),
                   x2=c(3,4,2,8))
# 方法1
mydata$sumx<-mydata$x1+mydata$x2
mydata$meanx<-(mydata$x1+mydata$x2)/2
# 方法2
attach(mydata)
  mydata$sumx1<-x1+x2
  mydata$meanx1<-(x1+x2)/2
detach(mydata)
# 方法3【推荐】
mydata<-transform(mydata,
                  sumx2=x1+x2,
                  meanx=(x1+x2)/2)
mydata

2、变量的重编码

        重编码涉及根据同一个变量和/或其他变量的现有值创建新值得过程。例如我们可以:①将一个连续型变量修改为一组类别值;②将误编码的值替换为正确值;③基于一组分数线创建一个表示及格/不及格的变量。

运算符描述
<小于
<=小于或等于
>大于
>=大于或等于
==严格等于
!=不等于
!x非x
x|yx或y
x&y

x和y

isTRUE(x)测试x是否为TRUE
# 将leadership中的年龄为99的值重编码为缺失值
leadership$age[leadership$age==99]<-NA
# 将年龄列重编码为分类数据
leadership$agecat[leadership$age>75]<-'Elder'
leadership$agecat[leadership$age>=55 & leadership$age<=75]<-'Middle Aged'
leadership$agecat[leadership$age<55]<-'Young'
# 紧凑的表达方式如下:
leadership<-within(leadership,{
  agecat<-NA
  agecat[age>75]<-'Elder'
  agecat[age>=55 & age<=75]<-'Middle Age'
  agecat[age<55]<-'Young'
})
leadership

3、变量的重命名

        如果对现在的变量名称不满意,我们可以对变量名称进行修改。可以通过names()函数来重命名变量。如下:

        names(leadership)[2]<-'testDate'

names(leadership)
names(leadership)[2]<-'testDate'
names(leadership)[6:10]<-c('item1','item2','item3','item4','item5')

library(plyr)
leadership<-rename(leadership,
                   c(manager='managerID'))
names(leadership)

4、缺失值

        在R中,缺失值以符号NA(Not Available,不可用)表示。在R中字符型和数值型数据局使用的缺失值符号是相同的。我们可以用is.na()函数来检测是否存在缺失值。

y<-c(1,2,3,NA)
is.na(y)
is.na(leadership[,6:10])

        在处理缺失值时,需注意:①缺失值被认为是不可比较的,即便是与缺失值自身的比较。这就意味着无法使用比较运算符来检测缺失值是否存在。②R并不把无限的或不可能出现的数值标志为缺失值。

(1)重编码某些值为缺失值

        我们可以使用赋值语句将某些值重编码为缺失值。如:

        leadership$age[leadership$age==9]<-NA

(2)在分析中排除缺失值

        确定了缺失值的位置后,我们在进一步的分析数据之前可能需要以某种方式删除这些缺失值。原因是:含有缺失值的算术表达式和函数的计算的结果也是缺失值。

# 创建数据
x<-c(1,2,NA,3)
y<-x[1]+x[2]+x[3]+x[4]
z<-sum(x)
y
z
z<-sum(x,na.rm=TRUE)
z

        我们也可是通过函数na.omit()移除所有含有缺失值的观测。na.omit()可以删除所有含有缺失数据的行。

leadership
newdata<-na.omit(leadership)
newdata

        删除所有含有缺失数据的观测(称为行删除,listwize deletion)是处理不完整数据集的若干手段之一。如果只有少数缺失值或者缺失值尽集中与一小部分观测中,行删除不失为解决缺失值问题的一种手段。但如果缺失值遍布于数据之中,或者一小部分变量中包含大量的缺失数据,行删除可能会剔除相当比例的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决ERROR: Cannot uninstall ‘ipython-genutils‘.的方法

删除ipython-genutils-X-pyX.egg-info文件&#xff0c;X表示对应版本&#xff0c;问题解决。

杨辉三角的快速求法

一、杨辉三角形 杨辉三角形&#xff0c;又称贾宪三角形&#xff0c;帕斯卡三角形&#xff0c;是二项式系数在三角形中的一种几何排列&#xff0c;是二项式系数在三角形中的一种几何排列&#xff0c;古称“开方作法本源图”。 杨辉三角的历史 北宋人贾宪约1050年首先使用“贾…

搭建musetalk数字人的步骤

生成数字人的视频效果 搭建步骤 下载git代码 git clone https://github.com/TMElyralab/MuseTalk.git创建conda环境 (建议使用 python 版本 >3.10 和 cuda 版本 11.7。) conda create -n musetalk python3.10进入conda环境 conda activate musetalk下载项目依赖包 pip…

如何理解光学中的群速度和相速度。

我不太明白为什么书上要区分相速度和群速度&#xff0c;不管这个&#xff0c;我想看看这两个速度在真实周期函数上的影响是如何的。 首先计算&#xff0c;直接计算三角函数我不会&#xff0c;利用复数做&#xff0c;可以取的实部。其中&#xff0c;。。 这个公式说明了什么呢…

Neo4j 创建关系

Neo4j 创建关系 在 Noe4j 中&#xff0c;关系是我们用来连接图的两个节点的元素。 这些关系具有数据的方向、类型和形式模式。 本章教你如何 建立关系在现有节点之间创建关系使用标签和属性创建关系 建立关系 我们可以使用 CREATE 子句创建关系。 我们将在方括号[]中指定关系…

后方穿行预警系统技术规范(简化版)

后方穿行预警系统技术规范(简化版) 1 系统概述2 预警区域3 预警目标4 预警条件5 指标需求1 系统概述 RCTA后方穿行预警系统工作在驾驶员有倒车意向的时候。在倒车过程中当驾驶员视线因周围障碍物被遮挡而产生碰撞风险时,系统通过光学信号对驾驶员进行提醒。 2 预警区域 RCT…

一个关于空格的Sql Server面试题

先上题目&#xff1a; 回答下面sql 的输出结果 declare s1 varchar(10) declare s2 varchar(10) set s1a b set s2a b if s1s2 select true 答案是 true 那么上面的 s1 和 s2 是否相等的呢&#xff1f; 我们再看看下面的sql declare s1 varchar(10) declare s2 varchar…

# [0619] Task01 绪论、马尔可夫过程、动态规划

easy-rl PDF版本 笔记整理 P1 - P2 joyrl 比对 补充 P1 - P3 相关 代码 整理 最新版PDF下载 地址&#xff1a;https://github.com/datawhalechina/easy-rl/releases 国内地址(推荐国内读者使用)&#xff1a; 链接: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw 提取码: us…

xcode和iPhone真机或者watch真机连接问题

1.如果真机是第一次连接xocde&#xff0c;就需要开启真机上的开发者模式&#xff0c;开启开发者模式的方式&#xff1a; iphone/ipad开启方式: 设置 > 隐私与安全 > 开发者模式 > 开启&#xff0c;然后重启就可以了 watch设置&#xff1a;很麻烦&#xff0c;看文章…

Hive期末总结

hive的概念&#xff0c;谁开发的 Apache Hive 是一个Apache 软件基金会维护的开源项目 Facebook贡献 hive是一个基于hadoop的数据仓库工具&#xff08;对数据汇总查询和分析的工具&#xff09; hive执行原理 Hive通过给用户提供的一系列交互接口&#xff0c;接收到用户的指令…

Leetcode3179. K 秒后第 N 个元素的值

Every day a Leetcode 题目来源&#xff1a;3179. K 秒后第 N 个元素的值 解法1&#xff1a;模拟 模拟 k 轮&#xff0c;数组保存上一次结果&#xff0c;然后计算当前轮次的结果。 代码&#xff1a; /** lc appleetcode.cn id3179 langcpp** [3179] K 秒后第 N 个元素的值…

自然语言处理概述

目录 1.概述 2.背景 3.作用 4.优缺点 4.1.优点 4.2.缺点 5.应用场景 5.1.十个应用场景 5.2.文本分类 5.2.1.一般流程 5.2.2.示例 6.使用示例 7.总结 1.概述 自然语言处理&#xff08;NLP&#xff09;是计算机科学、人工智能和语言学的交叉领域&#xff0c;旨在实…

JAVA 注解搜索工具类与注解原理讲解(获取方法和类上所有的某个注解,父类继承的注解也支持获取)

文章目录 JAVA 注解搜索工具类与注解原理讲解&#xff08;获取方法和类上所有的某个注解&#xff0c;父类继承的注解也支持获取&#xff09;代码测试方法上加注解&#xff0c;类上不加类上加注解、方法上加注解 注解原理性能测试 JAVA 注解搜索工具类与注解原理讲解&#xff08…

技术差异,应用场景;虚拟机可以当作云服务器吗

虚拟机和云服务器是现在市面上常见的两种计算资源提供方式&#xff0c;很多人把这两者看成可以相互转换或者替代的物品&#xff0c;实则不然&#xff0c;这两种资源提供方式有许多相似之处&#xff0c;但是也有不少区别&#xff0c;一篇文章教你识别两者的技术差异&#xff0c;…

人工智能中的监督学习和无监督学习

欢迎来到 Papicatch的博客 目录 &#x1f349;引言 &#x1f349;监督学习 &#x1f348;基本思想 &#x1f348;具体过程 &#x1f34d;数据收集 &#x1f34d;数据预处理 &#x1f34d;模型选择 &#x1f34d;模型训练 &#x1f34d;模型评估 &#x1f34d;模型部署…

深入理解预处理

1.预定义符号 C语言设置了⼀些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 __STDC__ //如果编译器遵循ANSI C&…

DSP28335:中断系统

1.中断介绍 F28335的中断&#xff1a; 中断源可分为片内中断源和片外中断源&#xff0c;这些外设中断源需要把中断请求传递给内核需要中断线。 14个课屏蔽中断是通过相应的使能寄存器控制是否进行中断。 28335总共的中断源有58个&#xff0c;可是只有12个中断线&#xff0c;如…

分页插件bs_pagination与Bootstrap4、jQuery3.7.1不兼容的问题

问题场景&#xff1a; 开发环境&#xff1a; 项目&#xff1a;CRM IDE&#xff1a;intelij IDEA JDK: jdk21.0.2 JQuery&#xff1a;3.7.1 Bootstrap&#xff1a;4.6 项目中需要查询数据库中的数据&#xff0c;并且以分页显示的方式显示在页面上&#xff0c;前端页面用到了分页…

嵌入式实验---实验二 中断功能实验

一、实验目的 1、掌握STM32F103中断程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、在上一章的实验基础上&#xff0c;添加一个按键和一个LED&#xff1b; 2、使用中断的方式实现以下两个功能&#xff1a; &#xff08;1&#xff09;KEY1按键…

考研计组chap4指令系统

目录 一、指令格式 155 13.操作码地址码 2.按照地址码数量 &#xff08;1&#xff09;零地址指令 &#xff08;2&#xff09;一地址指令 &#xff08;3&#xff09;二地址指令 &#xff08;4&#xff09;三地址指令 &#xff08;5&#xff09;四地址指令 3.指令长度 …