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

网站的详情页面设计黑帽seo培训网

网站的详情页面设计,黑帽seo培训网,app网站开发费用,wordpress 如何从新安装目录 一.dplyr包 1.新增变量和变量重新赋值 2.筛选行 3.筛选列 4.分组计算 5.管道操作符 6.连接数据框 二.tidyr 1.列的分裂 2.列的合并 3.宽数据转长数据 4.长数据转宽数据 一.dplyr包 1.新增变量和变量重新赋值 > head(ToothGrowth)len supp dose 1 4.2 …

目录

一.dplyr包

1.新增变量和变量重新赋值

2.筛选行

3.筛选列

4.分组计算

5.管道操作符

6.连接数据框

二.tidyr

1.列的分裂

2.列的合并

3.宽数据转长数据

4.长数据转宽数据


一.dplyr包

1.新增变量和变量重新赋值

> head(ToothGrowth)len supp dose
1  4.2   VC  0.5
2 11.5   VC  0.5
3  7.3   VC  0.5
4  5.8   VC  0.5
5  6.4   VC  0.5
6 10.0   VC  0.5
> ToothGrowth2<-mutate(ToothGrowth,len=len^2,nv=1:nrow(ToothGrowth),
nv2=ifelse(nv>median(nv),"H","L"))> head(ToothGrowth2)len supp dose nv nv2
1  17.64   VC  0.5  1   L
2 132.25   VC  0.5  2   L
3  53.29   VC  0.5  3   L
4  33.64   VC  0.5  4   L
5  40.96   VC  0.5  5   L
6 100.00   VC  0.5  6   L

2.筛选行

> ToothGrowth3<-filter(ToothGrowth2,nv %in% 1:50,nv2=="H")> head(ToothGrowth3)len supp dose nv nv2
1 231.04   OJ  0.5 31   H
2 462.25   OJ  0.5 32   H
3 309.76   OJ  0.5 33   H
4  94.09   OJ  0.5 34   H
5 210.25   OJ  0.5 35   H
6 100.00   OJ  0.5 36   H

3.筛选列

#只显示第二列和第四列的数据
ToothGrowth4 <- select(ToothGrowth3,c(2,4))

4.分组计算

> summarise(ToothGrowth,len_max=max(len))len_max
1    33.9
#会按照supp进行分组
> summarise(group_by(ToothGrowth,supp),len_max=max(len))
# A tibble: 2 × 2supp  len_max<fct>   <dbl>
1 OJ       30.9
2 VC       33.9
> summarise(group_by(ToothGrowth,dose),len_max=max(len))
# A tibble: 3 × 2dose len_max<dbl>   <dbl>
1   0.5    21.5
2   1      27.3
3   2      33.9
> summarise(group_by(ToothGrowth,dose,supp),len_max=max(len))
`summarise()` has grouped output by 'dose'. You can override using the `.groups`
argument.
# A tibble: 6 × 3
# Groups:   dose [3]dose supp  len_max<dbl> <fct>   <dbl>
1   0.5 OJ       21.5
2   0.5 VC       11.5
3   1   OJ       27.3
4   1   VC       22.5
5   2   OJ       30.9
6   2   VC       33.9

5.管道操作符

> library(magrittr)
#将左边的参数作为右边参数的第一个参数
> ToothGrowth %>%
+ mutate(nv=1:nrow(ToothGrowth))%>%
+ filter(nv %in% 1:50)%>%
+ select(1:2) %>%
+ group_by(supp)%>%
+ summarise(len_max=max(len))%>%
+ as.data.frame()

6.连接数据框

> df1<-data.frame(c1=2:5,c2=LETTERS[2:5])
> df1c1 c2
1  2  B
2  3  C
3  4  D
4  5  E
> df2<-data.frame(c3=LETTERS[c(2:3,20:23)],c4=sample(1:100,size=6))
> df2c3 c4
1  B 62
2  C 20
3  T 29
4  U 42
5  V 60
6  W 65
#left_join(df1,df2,by=c('c2'=='c3')):df1左连接于df2 
> df1 %>% left_join(df2,by=c('c2'='c3'))c1 c2 c4
1  2  B 62
2  3  C 20
3  4  D NA
4  5  E NA
> df1 %>% right_join(df2,by=c('c2'='c3'))c1 c2 c4
1  2  B 62
2  3  C 20
3 NA  T 29
4 NA  U 42
5 NA  V 60
6 NA  W 65
> df1 %>% full_join(df2,by=c('c2'='c3'))c1 c2 c4
1  2  B 62
2  3  C 20
3  4  D NA
4  5  E NA
5 NA  T 29
6 NA  U 42
7 NA  V 60
8 NA  W 65
> df1 %>% inner_join(df2,by=c('c2'='c3'))c1 c2 c4
1  2  B 62
2  3  C 20

二.tidyr

1.列的分裂

> library(tidyr)
> df3<-data.frame(c5=paste(letters[1:3],1:3,sep="-"),
+ c6=paste(letters[1:3],1:3,sep="."),
+ c4=c("B","B","B"),
+ c3=c("H","M","L"))
> df3c5  c6 c4 c3
1 a-1 a.1  B  H
2 b-2 b.2  B  M
3 c-3 c.3  B  L
> df4<-df3%>%
+ separate(col=c5,sep="-",into=c("c7","c8"),remove=F)%>%
+ separate(col=c6,sep="\\.",into=c("c9","c10"),remove=T)
#\\表示转义字符
> df4c5 c7 c8 c9 c10 c4 c3
1 a-1  a  1  a   1  B  H
2 b-2  b  2  b   2  B  M
3 c-3  c  3  c   3  B  L

2.列的合并

> df4%>%
#remove表示将原来操作的列保留下来
+ unite(col="c11",c("c7","c8"),sep="_",remove=F)%>%
+ unite(col="c12",c("c9","c10"),sep=".",remove=T)c5 c11 c7 c8 c12 c4 c3
1 a-1 a_1  a  1 a.1  B  H
2 b-2 b_2  b  2 b.2  B  M
3 c-3 c_3  c  3 c.3  B  L

个人以为以下两个函数特别重要,特别有用,特别是在绘制线性图的时候

宽数据:列数变多了,names_from,表示列名的来源,value_from(),表示列值来源

从长数据到宽数据为from

长数据:行数变多了,names_to,表示列名加入到行中的去向,value_from(),表示列值加入到行中的去向,从宽数据到长数据为to

3.宽数据转长数据

> set.seed(42)
> df5<-data.frame(time=rep(2011:2013,each=3),
+ area=rep(letters[1:3],times=3),
+ pop=sample(100:1000,9),
+ den=round(rnorm(9,mean=3,sd=0.1),2),
+ mj=sample(8:12,9,replace = T))
#replace=T,有放回的取
> df5time area pop  den mj
1 2011    a 660 2.99 12
2 2011    b 420 3.15 12
3 2011    c 252 2.99 11
4 2012    a 173 3.20  9
5 2012    b 327 2.99 11
6 2012    c 245 3.13 10
7 2013    a 733 3.23  9
8 2013    b 148 2.86  8
9 2013    c 227 2.97  9> df6<-df5%>%
#将最后三列数据合并为一列
+ pivot_longer(cols=-c(1:2),
#列名称
+ names_to="varb",
#列值
+ values_to="value")
> df6
# A tibble: 27 × 4time area  varb   value<int> <chr> <chr>  <dbl>1  2011 a     pop   660   2  2011 a     den     2.993  2011 a     mj     12   4  2011 b     pop   420   5  2011 b     den     3.156  2011 b     mj     12   7  2011 c     pop   252   8  2011 c     den     2.999  2011 c     mj     11   
10  2012 a     pop   173   
# ℹ 17 more rows
# ℹ Use `print(n = ...)` to see more rows
> 

4.长数据转宽数据

> df6%>%
+ pivot_wider(names_from=c(area,varb),values_from = value)
# A tibble: 3 × 10time a_pop a_den  a_mj b_pop b_den  b_mj c_pop c_den  c_mj<int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1  2011   660  2.99    12   420  3.15    12   252  2.99    11
2  2012   173  3.2      9   327  2.99    11   245  3.13    10
3  2013   733  3.23     9   148  2.86     8   227  2.97     9
> 
http://www.15wanjia.com/news/11032.html

相关文章:

  • 亚马逊的网络营销方式湖南企业seo优化首选
  • 做企业网站一般用什么服务器企业网络营销推广方案策划范文
  • 怎么注册一个网站做色流网络营销策划的具体流程是
  • 上海网站建设联百度推广助手app
  • 官方网站域名备案大连seo按天付费
  • 做企业网站模板可以seo有哪些免费推广网站
  • 怎么买网站域名九个关键词感悟中国理念
  • 网站怎么做排名靠前网站制作的步骤
  • wordpress百度收录数武汉seo服务多少钱
  • 邢台精品网站建设营销渠道管理
  • 广州网站公司推广建设论坛推广技巧
  • 潍坊seo按天收费seo整站优化费用
  • 温州网站建设设计公司群发软件
  • 家装设计图效果图大全网络优化公司哪家好
  • av网站正在建设中谷歌广告联盟
  • 南阳网站建设的公司宁波谷歌seo推广公司
  • 宿州做网站的有吗中国十大小说网站排名
  • 聊城网站建设电话建网站建设
  • 许昌公司做网站电子商务网站推广策略
  • 永年网站制作高端网站建设报价
  • app开发模板网站摘抄一则新闻
  • 设计网站案例网站西安seo黑
  • 包头住房和城乡建设厅网站百度搜索引擎的优缺点
  • 电商网站设计公司在线资源搜索神器
  • 政府网站建设的内涵长沙百度快照优化排名
  • 企业网站排行榜推广排名seo
  • 白山市网站建设搜索引擎营销的主要方法
  • 云电子网站开发广州疫情最新情况
  • 写作网站推荐天津seo管理平台
  • 哈尔滨网站建设设计推广软文范例