当前位置: 首页 > 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

http://www.lryc.cn/news/305240.html

相关文章:

  • 命令记录学习
  • Python3 TCP 客户端
  • 图论(算法竞赛、蓝桥杯)--拓扑排序
  • 内网穿透(docker部署frp)
  • Java设计模式 | 简介
  • 微信小程序video 点击自动全屏播放
  • MySQL基础面试问题(一)
  • 抖音爬虫批量视频提取功能介绍|抖音评论提取工具
  • mac真的安装不了vmware吗 mac如何安装crossover crossover序列号从哪里买 购买正版渠道
  • C语言-指针详解速成
  • C# RabbitMQ使用--动态更新
  • Unity资源加密解决方案
  • 使用 yarn 的时候,遇到 Error [ERR_REQUIRE_ESM]: require() of ES Module 怎么解决?
  • 多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测
  • 实战营第四节笔记
  • 【网络】HTTPS协议原理
  • C#常识篇(一)
  • Linux使用C语言获取进程信息
  • tomcat通过JAVA_OPTS注入自定义变量 —— 筑梦之路
  • Linux——简单的Shell程序
  • 计算机网络-网络互联与互联网(一)
  • Android 解决后台服务麦克风无法录音问题
  • 【计网】TCP的三次握手四次挥手
  • android pdf框架-4,分析vudroid源码2
  • [算法沉淀记录] 排序算法 —— 希尔排序
  • conda 进入虚拟环境命令报错
  • 域名 SSL 证书信息解析 API 数据接口
  • 学习JAVA的第二天(基础)
  • 代码随想录算法训练营第二十七天|93.复原IP地址、78.子集、90.子集II
  • 【蓝桥备赛】字串简写