当前位置: 首页 > news >正文

R语言入门笔记2.5

数据预处理

R语言处理的数据多以数据框的形式出现。

预备操作

  1. 数据查看
> dim(x)
[1] 16  3     #数据框有16行3列
> names(x)     #查看数据框的变量名
[1] "X" "Z" "Y"
> head(x,3)     #查看前3行,若为-3则是查看后三行之外的数据X    Z    Y
1 140.1 37.0 2.25
2 151.5 38.5 3.00
3 161.2 42.1 3.25
> tail(x,3)      #查看后3行,若为-3则是查看前3行之外的数据X    Z    Y
14 149.5 39.7 2.75
15 159.6 44.5 3.00
16 162.5 45.0 3.20

读取数据后可用attach载入数据框,即attach(x),由此可直接用列名,而不需再用$引用

  1. 数据筛选
Which( )函数
> a=c(2,3,4,2,5,1,6,3,2,5,8,5,7,3)   
> which.max(a)      #表示a序列中第几个是最大
[1] 11
> which.min(a)
[1] 6
> a[which.max(a)]      #先算里面的函数
[1] 8
> which(a==2)      #求哪些元素等于2
[1] 1 4 9
> a[which(a==2)]
[1] 2 2 2
> which(a>5)
[1]  7 11 13
> a[which(a>5)]
[1] 6 8 7
x<-read.table("li14.3.txt",header=T)
x$gender[which(x$gender=="f")]="女"
> y <- c(7,7,15,11,9,12,17,12,18,18,14,18,18,
+        19,19,19,25,22,19,23,7,10,11,15,11)
> n <- factor(rep(c("15%","20%","25%","30%","35%"),each=5))
> d <- data.frame(y,n)
> which(d[,2]=="15%")     #求出第多少行满足条件
[1] 1 2 3 4 5
> mean(d[which(d[,2]=="15%"),1])      # 对数据框1-5行第1列求均值
[1] 9.8                              

修改变量名

> names(x)
[1] "X" "Z" "Y"
> names(x)<-paste("x",1:3,sep="")      #由此变量名全部修改
> names(x)
[1] "x1" "x2" "x3"
> names(x)[3]<-"产量"        #把第3列的变量名修改为"成绩"
> names(x)
[1] "x1"     "x2"     "成绩"

删除变量

给该变量赋予空值NULL即可,(指从数据集中删除)

ug$GPA<-NULL

排序

> x[order(x$成绩),]         #按成绩升序排列(默认)x1   x2 成绩
1  140.1 37.0 2.25
8  157.0 37.0 2.25
> x[order(x$成绩,decreasing=T),]      #按成绩降序排列x1   x2 成绩
7  170.5 54.5 3.50
3  161.2 42.1 3.25

缺失值处理

  1. 缺失值识别
> x$x2[3]<-NA
> is.na(head(x$x2,3))
[1] FALSE FALSE  TRUE
  1. 缺失值排除
> x_NA<-na.omit(x)     #把缺失值所在行排除
> x_NAx1   x2 成绩
1  140.1 37.0 2.25
2  151.5 38.5 3.00
4  172.8 46.5 3.25

相关文章:

R语言入门笔记2.5

数据预处理 R语言处理的数据多以数据框的形式出现。 预备操作 数据查看 > dim(x) [1] 16 3 #数据框有16行3列 > names(x) #查看数据框的变量名 [1] "X" "Z" "Y" > head(x,3) #查看前3行&#xff0c;若为-3则是查看后三行之…...

命令记录学习

1. 查看当前用户 cat /etc/passwd 添加test用户 useradd test -G root 查看test用户状态 id test 查看用户adaminstrator passwd -S adaminstrator 禁用用户adaminstrator passwd -l adaminstrator 密码策略设置文件地址 vi /etc/pam.d/system-auth 设…...

Python3 TCP 客户端

下面是一个简单的 Python TCP 客户端示例代码&#xff0c;用于与之前提到的 EchoServer 进行通信&#xff1a; import socketserver_address (localhost, 8888)# 创建 TCP 客户端套接字 client_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)try:# 连接到服务器…...

图论(算法竞赛、蓝桥杯)--拓扑排序

1、B站视频链接&#xff1a;D01 拓扑排序_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N100010; int n,m,a,b; vector<int> e[N],tp; int din[N]; bool topsort(){queue<int> q;for(int i1;i<n;i){if(din[i]0)q.push(i);}…...

内网穿透(docker部署frp)

文章目录 内网穿透实现内网穿透的常见方法 frpfrp的实现原理frps服务端应用部署配置文件部署参数配置 frpc客户端部署 内网穿透 内网穿透是指在内部网络&#xff08;内网&#xff09;中实现穿透外网&#xff08;公网&#xff09;的通信。内网通常是指公司、组织或家庭等内部网…...

Java设计模式 | 简介

设计模式的重要性&#xff1a; 软件工程中&#xff0c;设计模式&#xff08;design pattern&#xff09;是对软件设计中普遍存在&#xff08;反复出现&#xff09;的各种问题&#xff0c;所提出的解决方案。 这个术语由埃里希 伽玛&#xff08;Erich Gamma&#xff09;等人在1…...

微信小程序video 点击自动全屏播放

//因为这个地址可能是图片也可能是视频 点击 图片可以预览&#xff0c;点击视频可放大全屏自动播放。 代码如下 <view v-else :class{contentImg: x.picture.length0} style"margin-top: 10px;"v-for"(x1, y1) in x.picture" :key"y"><…...

MySQL基础面试问题(一)

MySQL面试问题的标准回答&#xff1a; 什么是数据库范式&#xff1f;MySQL中常见的范式有哪些&#xff1f; 标准回答&#xff1a;数据库范式是一组规则&#xff0c;用于设计关系型数据库的结构&#xff0c;以减少数据冗余和提高数据的一致性。常见的数据库范式包括第一范式&…...

抖音爬虫批量视频提取功能介绍|抖音评论提取工具

抖音爬虫是指通过编程技术从抖音平台上获取视频数据的程序。在进行抖音爬虫时&#xff0c;需要注意遵守相关法律法规和平台规定&#xff0c;以确保数据的合法获取和使用。 一般来说&#xff0c;抖音爬虫可以实现以下功能之一&#xff1a;批量视频提取。这个功能可以用于自动化地…...

mac真的安装不了vmware吗 mac如何安装crossover crossover序列号从哪里买 购买正版渠道

有些用户可能想在mac上运行一些只能在windows上运行的软件&#xff0c;比如游戏、专业软件等。这时候&#xff0c;就需要用到虚拟机技术&#xff0c;也就是在mac上安装一个可以模拟其他操作系统的软件&#xff0c;比如vmware或者crossover。那么&#xff0c;mac真的安装不了vmw…...

C语言-指针详解速成

1.指针是什么 C语言指针是一种特殊的变量&#xff0c;用于存储内存地址。它可以指向其他变量或者其他数据结构&#xff0c;通过指针可以直接访问或修改存储在指定地址的值。指针可以帮助我们在程序中动态地分配和释放内存&#xff0c;以及进行复杂的数据操作。在C语言中&#…...

C# RabbitMQ使用--动态更新

在使用 RabbitMQ 的 C# 客户端库时&#xff0c;只需要在应用程序中引用 RabbitMQ.Client 包&#xff0c;而不需要单独安装 RabbitMQ 服务器。 RabbitMQ.Client 是一个用于在 C# 中与 RabbitMQ 服务器进行通信的客户端库。通过使用该客户端库&#xff0c;你可以在应用程序中创建…...

Unity资源加密解决方案

据统计&#xff0c;全球范围内超过50%的游戏均使用Unity创作而成&#xff0c;作为游戏开发市场第一大游戏引擎占有者&#xff0c;Unity已经全面覆盖到各个游戏平台。 全球游戏引擎市场占有率 由于体量庞大&#xff0c;Unity游戏已成为受游戏黑灰产攻击的重灾区&#xff0c;因游…...

使用 yarn 的时候,遇到 Error [ERR_REQUIRE_ESM]: require() of ES Module 怎么解决?

晚上回到家&#xff0c;我打开自己的项目&#xff0c;执行&#xff1a; cd HexoPress git pull --rebase yarn install yarn dev拉取在公司 push 的代码&#xff0c;然后更新依赖&#xff0c;最后开始今晚的开发时候&#xff0c;意外发生了&#xff0c;竟然报错了&#xff0c;…...

多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、…...

实战营第四节笔记

这节课包含四大部分&#xff0c;为finetune简介、xtuner介绍、使用8GB玩转LLM和动手实践环节。 LoRA和QLoRA是两种很重要的方法&#xff0c;对微调模型、减少内存使用非常有效。 后面是XTuner的介绍。 之后是动手实践。可参考https://github.com/InternLM/tutorial/blob/ma…...

【网络】HTTPS协议原理

目录 一、HTTPS是什么&#xff1f; 二、常见加密方式 2.1、只使用对称加密 2.2、只使用非对称加密 2.3、双方都使用非对称加密 2.4、非对称加密对称加密(中间人攻击情况) 2.5、非对称加密对称加密证书认证 三、数据摘要&&数据指纹 四、CA证书 五、数字签名 六…...

C#常识篇(一)

面向对象的三大特性 继承&#xff1a;子类通过继承父类来获取基础特性&#xff0c;并且能够基于父类进行扩展以及提升代码的复用性。继承具有传递性&#xff0c;例如A继承自B&#xff0c;C继承自A&#xff0c;那么C就间接继承自B。在C#中&#xff0c;每个类仅允许继承一个父类。…...

Linux使用C语言获取进程信息

Linux使用C语言获取进程信息 Author: OnceDay Date: 2024年2月22日 漫漫长路&#xff0c;才刚刚开始… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CSDN博客 参考文档: Linux proc目录详解_/proc/mounts-CSDN博客Linux下/proc目录介绍 - 知乎 (zhihu.com)Linux内…...

tomcat通过JAVA_OPTS注入自定义变量 —— 筑梦之路

背景说明 tomcat部署的java应用在k8s集群或容器中&#xff0c;想要给tomcat传自定义变量&#xff0c;应该如何实现&#xff1f; 解决方法 1. 在k8s集群或容器环境中通过env或者configmap方式添加自定义的环境变量 比如&#xff1a; my_key: aaaa 2. tomcat下新增脚本&am…...

SU-03T模块烧录固件保姆级教程:从‘智能公元’配置到串口下载(避坑‘路径中文’和‘重新上电’)

SU-03T固件烧录实战指南&#xff1a;从智能公元配置到串口下载全流程解析 第一次拿到SU-03T语音模块时&#xff0c;那种既兴奋又忐忑的心情我至今记忆犹新。作为一款高性能离线语音识别模块&#xff0c;SU-03T确实能带来无限可能&#xff0c;但固件烧录这个看似简单的步骤却让不…...

智能邮件秘书:OpenClaw+Qwen3.5-9B自动分类与回复

智能邮件秘书&#xff1a;OpenClawQwen3.5-9B自动分类与回复 1. 为什么需要自动化邮件处理&#xff1f; 每天早晨打开邮箱时&#xff0c;看到堆积如山的未读邮件总会让人头皮发麻。作为一位经常需要处理客户咨询的技术顾问&#xff0c;我最高纪录是一天收到187封邮件。即使每…...

毕业设计实战:基于SpringBoot+Vue+MySQL的智慧党建系统设计与实现指南

毕业设计实战&#xff1a;基于SpringBootVueMySQL的智慧党建系统设计与实现指南 在开发“基于SpringBootVueMySQL的智慧党建系统”毕业设计时&#xff0c;曾因活动报名记录表未通过党员ID与党建活动ID双外键关联踩过关键坑——初期仅单独设计报名记录表的报名编号字段&#xff…...

(宏)Word题注自动化:从“图一-1”到“图1-1”的VBA实现与高效复用

1. 为什么需要题注自动化&#xff1f; 写论文或者技术文档的朋友肯定遇到过这样的烦恼&#xff1a;每次插入图片后&#xff0c;都要手动输入"图1-1"、"图1-2"这样的题注。更麻烦的是&#xff0c;如果你的章节标题用的是中文数字&#xff08;比如"第一…...

SVPWM/AZSPWM的simulink仿真 AZSPWM(Advanced Zero Se...

SVPWM/AZSPWM的simulink仿真 AZSPWM&#xff08;Advanced Zero Sequence Pulse Width Modulation&#xff0c;先进零序脉宽调制&#xff09;是一种改进的脉宽调制技术&#xff0c;主要应用于三相逆变器中&#xff0c;通过引入零序分量来优化输出电压的波形和性能。 AZSPWM的目标…...

3个步骤掌握阿里云盘命令行客户端的快传链接:大文件分享的终极解决方案

3个步骤掌握阿里云盘命令行客户端的快传链接&#xff1a;大文件分享的终极解决方案 【免费下载链接】aliyunpan 阿里云盘命令行客户端&#xff0c;支持JavaScript插件&#xff0c;支持同步备份功能。 项目地址: https://gitcode.com/GitHub_Trending/ali/aliyunpan 在当…...

【概率统计】从直方图到核密度估计:数据分布可视化的进阶之路

1. 直方图&#xff1a;数据可视化的第一课 第一次接触数据分布可视化时&#xff0c;大多数人都是从直方图开始的。记得我刚学数据分析时&#xff0c;导师扔给我一组销售数据说&#xff1a;"先画个直方图看看分布情况。"当时我盯着matplotlib的hist函数参数一脸茫然—…...

嵌入式工程师技术成长路径:从单片机到Linux驱动开发

嵌入式工程师职业发展路径的技术思考1. 职业发展阶段与技术演进1.1 单片机开发阶段对于刚毕业的电子工程专业学生&#xff0c;单片机开发通常是职业起点。这一阶段主要涉及&#xff1a;8/16/32位微控制器(如STM32系列)的应用开发基础外设驱动开发(GPIO、UART、SPI、I2C等)实时操…...

从DVWA存储型XSS看Web安全:开发者常踩的坑与Impossible级别的启示

从DVWA存储型XSS看Web安全&#xff1a;开发者常踩的坑与Impossible级别的启示 在Web应用开发中&#xff0c;安全漏洞就像隐藏在代码中的定时炸弹&#xff0c;而存储型XSS&#xff08;跨站脚本攻击&#xff09;无疑是其中最具破坏力的一种。不同于反射型XSS的一次性攻击&#xf…...

软件测试学习第一期

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…...