变量、因子、缺失值、类型转换、剔除多余变量、随机抽样、用R使用SQL、trim、na.rm=TRUE、数据标准化应用

变量:名义型、有序型、连续型变量
名义型:普通事件类型,如糖尿病I型和糖尿病II型。
有序型:有顺序的事件类型,如一年级、二年级和三年级。
连续型:表示有顺序的数量,如年龄。

因子:名义型、有序型。
名义型会用123形容不同类型名称。
有序性会用1<2<3形容类型和顺序/程度。
用str(数据框)可以查看程度顺序。

stringAsFactors=FALSE:
在这里插入图片描述
创建数据框的时候,会在data.frame的最后加一个stringsAsFactors=FALSE,是为了防止R把字符类型默认为因子。

标记为缺失值

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

将连续型,转化为有序型

leadership$agecat[leadership$age <55] <- "young"
leadership$agecat[leadership$age >=55 & leadership$age <75] <- "middle aged"
leadership$age[leadership$age >= 75] <- "elder"

重命名列

names(leadership)[6:10]<- paste("item",1:5,sep="")

删除所有有缺失值的行

newdata <- na.omit(leadership)

类型转换
as.类型()
在这里插入图片描述
剔除变量
用名字剔除

myvars <- names(leadership) %in% c("q3","q4")
newdate <- leadership[!myvars]

筛选数据

newdate <- leadership[leadership$age>30&leadership$gender=="M",]

随机抽样
sample(),3表示抽3个,replace=FALSE表示无放回抽样

mysample <- leadership[sample(1:nrow(leadership),3,replace=FLASE

SQL语句操作数据框
加载sqldf包,library(sqldf)

library(sqldf)
newdf <- sqldf("select * from mtcars where crab=1 order by mpg",row.names=TRUE)

在这里插入图片描述
在这里插入图片描述

取平均值mean():

z <- mean(x, trim = 0.05, na.rm=TRUE)

trim的取值范围为0到0.5之间,表示在计算均值前需要去掉的异常值的比例。trim会在首尾分别去除N个异常值,其中N=样本数量*要去除的百分比(即是trim的值)
na.rm=TRUE <-- 把缺失值删除掉再计算。

中心化与标准化
中心化:数值-均值
标准化:(数值-均值)/标准差
方差=标准差的平方

数据标准化的应用
极差法:(原数据-极小值)/(极大值-极小值)*100
例如新的分数是140分满分,但是我们习惯于按照百分之去看分数。所以可以用极差法,将数值规制于百分制内,便于查看。

![在这里插入图片描述](https://img-blog.csdnimg.cn/3a644eb1f35f4759bd8870162fe76493.pn