搜索
查看: 718|回复: 0

[R] 9-11 第7章 数据科学

[复制链接]

31

主题

36

帖子

1114

积分

金牌会员

Rank: 6Rank: 6

积分
1114
发表于 2018-9-11 16:40:42 | 显示全部楼层 |阅读模式
library(tidyverse)
tidyverse_update()
library(ggplot2)
library(ggpubr)

#创建tibble
#方法1
as_tibble(iris)
#tibble会自动重复长度为1的输入,并可以使用刚创建的新变量
tibble(
  x = 1:5,
  y = 1,
  z = x ^ 2 + y
)
#tibble不能改变输入的类型、变量的名称,不能创建行名称
#在tibble中使用R中无效的变量名称(不含语法)作为列名称
#以特殊字符作为名称的列,引用时,需用 反引号``括起来

#方法2
#使用tribble创建tibble
#tribble是定制化的,列标题由公式(以~开头)定义,数据条目以逗号分隔
tribble(
  ~x,~y,~z,
  #--/--/----
  "a",2,3.6,
  "b",1,8.5
)

#tibble与data.frame的区别
#(1)打印
#tibble只显示前10行结果,列也适合屏幕,非常适合大数据集,除列名,tibble也会打印列的类型
?runif
#使用print打印数据框
nycflights13::flights %>%
  print(n=10,width = Inf)
#控制默认的打印方式
#options(tibble.print_max = n, tibble.print_min = m):如多于m行,则只打印出n行
#options(tibble.width = Inf):打印所有列,不考虑屏幕宽度
package?tibble

#取子集
df <- tibble(
  x = runif(5),
  y = rnorm(5)
)
View(df)
df
df$x#返回x这一列的数值
df["x"]#返回x这一列
df[["x"]]#返回x这一列的数值
df[[1]]#返回第一列的数值
df[1]#返回第一列
#在管道中使用提取操作时,需使用特殊的占位符.
df %>% .$x
#tibble较data.frame更严格,不能进行部分匹配,如访问的列不存在,会生成警告信息
#as.data.frame可将tibble转换回data.frame

print(mtcars)
(as.tibble(mtcars))

df <- data.frame(abc = 1,xyz = "a")
df
df$x
df[,"xyz"]
df[,c("abc","xyz")]

tb <- tibble(
  abc = 1,
  xyz = "a"
)
tb
tb$x
tb[,"xyz"]
tb[,c("abc","xyz")]

annoying <- tibble(
  `1` = 1:10,
  `2` = `1`*2 + rnorm(length(`1`))
)
annoying

annoying$`1`
annoying[["1"]]

attach(annoying)
ggplot(annoying,aes(x=`1`,y=`2`))+
  geom_point()

newannoying <- mutate(annoying,
                      `3` = `2`/`1`)
newannoying

colnames(newannoying) <- c("one","two","three")
newannoying

?tibble::enframe
#enframe() converts named atomic vectors or lists to two-column data frames. For unnamed vectors, the natural sequence is used as name column.
#deframe() converts two-column data frames to a named vector or list, using the first column as name and the second column as value.




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:topGO
下一篇:0911 Chapter 3 使用dplyr进行数据转换-p42第4题不太理解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-10-14 22:12 , Processed in 0.037707 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.