数据合并
选取数据newdata<- leadship[,c(1:6)]选取了q1到q5
或者
vars<- c("q1", "q2", "q3", "q4", "q5")
Newdata<- leadship[, vars]
> print(newdata)
q1 q2 q3 q4 q5
1 5 4 5 5 5
2 3 5 2 5 5
3 3 5 5 5 2
4 3 3 4 NA NA
5 2 2 1 2 1
剔除变量
myvars<- names(leadship) %in% c("q3", "q4") 给myvars中leadship中的q3,q4列名
> print(myvars)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE
[11] FALSE
其中的%in%是指判断左边的目标中是否有在右边目标中的数据。
在我们的数据中NA位于p4,p5位置因此我们需要去除这两列然后将其导入一个新的数据框
Newdata<- leadship[!myvars]选取了leadship数据框中除了p4,p5的所有列
> print(newdata)
mangaerID testdata countrys gender age q1 q2 q3 age1
1 1 10/24/08 us m 32 5 4 5 young
2 2 10/28/08 us f 45 3 5 2 old
3 3 10/1/08 uk f 25 3 5 5 young
4 4 10/12/08 uk m 39 3 3 4 middle age
5 5 5/1/09 uk f 99 2 2 1 old
选取观测值
Subset()
Dplyr包是一个很好用的数据处理包,接下来我会对其中的一些常用功能进行介绍首先我们用一下计算函数
leadship<- mutate(leadship, total_score= q1+q2+q3,
mean_score=total_score/3)
这个函数会在我们的leadship数据框中形成两个新列应该是类似我们之前提到的within函数(我认为的)
leadship$gender<- recode(leadship$gender, "m"="male", "f"="female")之后这个是可以重新定义变量的函数recode(数据位置, “旧变量”=“新变量”)
leadship<- rename(leadship, "mangaer_ID"=mangaer, "sex"=gender)可以重新命名数据框的列名
leadship<- arrange(leadship, desc(sex), desc(total_score))对数据进行排序,排序标准是sex和total_score,默认升序,我加了个dplyr包的desc()函数可以使其变成倒序。
leadship_rate<- select(leadship, mangaer_ID, mean_score)我们可以选取其中的数据将其放到一个新的数据框中进行分析,在这里我选取了mangaer_ID, mean_score两列数据。他们会生成一个新的数据框名为leadship_rate
leadship_men_high<- filter(leadship, sex=="male" & total_score> 10)然后我们筛选一下数据,选
出其中为男性并且总得分大于10的
这个是我们的原始数据,经过我们上面的filter之后变成下面的样子
自此dplyr包基础函数介绍完毕,最后做个总结
Mutate()计算
Recode()重新编辑变量
Rename()重新命名列名或者行名 ps:行名我没试过理论上应该是可行
Arrange()进行排序
Select()选取其中某一部分的数据 ps:他同样可以通过“:”来完成选取一个范围例如select(leadship, q1:q3)功能类似于[]但是select相比于[]他可以实现更精细的选择
Filter()对数据进行筛选,将筛选出的数据放入新的数据框
标签:q1,10,FALSE,数据,08,合并,介绍,dplyr,leadship From: https://blog.csdn.net/2403_87131305/article/details/142984318