R语言 | 第一部分:数据预处理

1.创建数据集/矩阵【data.frame数据框、matrix矩阵、array数组】

#数据框:将字段以列合并在一起。

leadership <- data.frame(manager, date ,country, gender, age, q1,q2,q3,q4,q5, stringsAsFactors=F)

#矩阵:通过调整参数,控制矩阵样式。

m1 <- matrix(c(1:6),nrow=2,ncol=3,dimnames=list(c("r1","r2"),c("c1","c2","c3")))

m2 <- matrix(1:6,nrow=2) #共6个元素,分2行,每行3个元素,未指定行名和列名

m3 <- matrix(1:6,ncol=3) #共6个元素,结果与创建形式2相同

m4 <- matrix(nr=2,nc=3) #未指定元素数据,默认为NA,2行3列,nr是nrow的简写,nc是ncol的简写,R能识别

#数组

mydata <- array(1:12,c(2,3,2),dimnames=list(c("r1","r2"),c("c1","c2","c3"),c("h1","h2"))  #myarray <- array(vector, dimensions, dimnames)

#factor和list

#factor是numeric数值类型

factor(x = character(), levels, labels = levels,exclude = NA, ordered = is.ordered(x), nmax = NA)

#注意:levels与labels的对应关系,其中levels发挥角标作用,与labels位置对应例如:

x <- c("Man","Male","Man","Lady","Female")

xf <- factor(x, levels = c("Male", "Man" , "Lady", "Female"),labels = c("Male", "Male", "Female", "Female"))

#> xf

#[1] Male  Male  Male  Female Female

#Levels: Male Female

#数据列表:可用于合并多个不同类型数据字段,例如:

pts <- list(x = cars[,1], y = cars[,2])


2.向数据集中增加列【transform、cbind、merge】

#方法一:

leadership <- transform(leadership,meanx= (q1+q2+q3+q4+q5)/5)

#方法二:

leadership$x <- c(1,1,1,1,1)

#方法三:

cbind(leadership,x)

#方法四:

merge student1<-data.frame(ID,name)student2<-data.frame(ID,score)total_student<-merge(student1,student2,by="ID")


3.向数据集中增加行【rbind】

#方法一:(需注意变量个数相等)

leadership[6,] <- c(6,"5/1/09","US","M",25,1,1,1,1,1,1,1,1,1)

​​​​​​​#方法二:

rbindID<-c(1,2,3)

name<-c("Jame","Kevin","Sunny")

student1<-data.frame(ID,name)

ID<-c(4,5,6)name<-c("Sun","Frame","Eric")

student2<-data.frame(ID,name)total<-rbind(student1,student2)


4.修改数据/批量修改数据/重定义(列)数据【修改指定单元格/列】

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

leadership$agecat2 <- NA

leadership <- within(leadership,{

agecat2[age>75] <- "Elder"

  agecat2[age>=55 & age<=75] <- "Middle Aged"

  agecat2[age<55] <- "Young"})


5.修改变量名【rname】

library(plyr)

leadership <- rename(leadership,c(manager="managerID", date="testDate"))


6.排序【order,其中默认升序,变量前加“-”代表降序】

​​​​​​​​​​​​​​leadership[order(age),]

leadership[order(gender,age),]

leadership[order(gender,-age),]


7.数据筛选【条件筛选、&、|】

​​​​​​​leadership <- data.frame(manager, date ,country, gender, age, q1,q2,q3,q4,q5, stringsAsFactors=F)

#筛选指定字段

leadership[,c(6:10)]

等同:leadership[c("q1","q2","q3","q4","q5")]

等同:myvars <- paste("q",1:5,sep="")

#条件筛选(和、且)

leadership[gender=='M' & age>30,]

#且

subset(leadership, age>=35 | age<24, select=gender:q4) #or条件筛选+列筛选


8.抽样

leadership[sample(1:nrow(leadership),3,replace=F),]  #replace=T说明不可以重复抽样


9.设置有效数字【digits】

options(digits=3)


10.【进阶】数据库相关dplyr

install.packages("dplyr")

library(dplyr)】

dplyr包最常使用的函数主要包括以下几个:

变量筛选函数:select

数据筛选函数:filter

排序函数:arrange

变形函数:mutate

汇总函数:summarize

分组函数:group_by

管道连接符:%>%

随机抽样函数:sample_n, sample_frac


参考来源:

https://blog.csdn.net/sinat_26917383/article/details/50676894 https://blog.csdn.net/u013421629/article/details/77744251

https://www.cnblogs.com/waxblogs/p/4398278.html (R语言学习笔记——数据结构 & 数据框基本操作)

https://blog.csdn.net/u011596455/article/details/79608475(R语言-数据预处理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,914评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,935评论 2 383
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,531评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,309评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,381评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,730评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,882评论 3 404
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,643评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,095评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,448评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,566评论 1 339
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,253评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,829评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,715评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,945评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,248评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,440评论 2 348

推荐阅读更多精彩内容