R 第七章tibble

> #使用tibble
> library(tidyverse)
> a <- as_tibble(iris) #创建tibble
> tibble(
+   x=1:5,
+   y=1,
+   z=x^2+y
+ )
# A tibble: 5 x 3
     x     y     z
 <int> <dbl> <dbl>
1     1     1     2
2     2     1     5
3     3     1    10
4     4     1    17
5     5     1    26
> 
> x=1:5
> y=1
> data.frame(  #tibble可以使用刚刚创建的变量,而dataframe则需要先定义
+   x=1:5,
+   y=1,z=x+y
+ )
 x y z
1 1 1 2
2 2 1 3
3 3 1 4
4 4 1 5
5 5 1 6
> 
> 
> tb <- tibble(          #tibble可以用这些奇怪的符号,R不认识,需要用反引号
+   `:)` = "smile", 
+   ` ` = "space",
+   `2000` = "number"
+ )
> tb
# A tibble: 1 x 3
 `:)`  ` `   `2000`
 <chr> <chr> <chr> 
1 smile space number
> 
> 
> tribble(               #tribble 
+   ~x, ~y, ~z,
+   #--|--|----
+   "a", 2, 3.6,
+   "b", 1, 8.5
+ )
# A tibble: 2 x 3
 x         y     z
 <chr> <dbl> <dbl>
1 a         2   3.6
2 b         1   8.5
> 
> 
> data <- iris
> data[[3,1]] #第三行第一个
[1] 4.7
> 
> 
> #如何识别一个对象是否为tibble
> #is_tibble(),或者class()
> class(data)
[1] "data.frame"
> class(a)
[1] "tbl_df"     "tbl"        "data.frame"
> is_tibble(a)
[1] TRUE
> is_tibble(data)
[1] FALSE
> 
> #Tibbles has the classes c("tbl_df", "tbl", "data.frame")
> 
> tibble和dataframe的区别
Error: object 'tibble和dataframe的区别' not found
> 
> #Using $ a data.frame will partially complete the column.
> #So even though we wrote df$x it returned df$xyz.
> #This saves a few keystrokes, but can result in accidentally using a different variable than you thought you were using.
> 
> #With data.frames, with [ the type of object that is returned differs on the number of columns.
> #If it is one column, it won’t return a data.frame, but instead will return a vector.
> #With more than one column, then it will return a data.frame.
> #This is fine if you know what you are passing in, but suppose you did df[ , vars] where vars was a variable.
> #Then you what that code does depends on length(vars) and you’d have to write code to account for those situations or risk bugs.
> 
> 
> var <- "Species"  #如果你把变量保存在var里面,需要用[[]]提取,而不是$
> data[[var]]
 [1] setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[11] setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[21] setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[31] setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[41] setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[51] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[61] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[71] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[81] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[91] versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[101] virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
[111] virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
[121] virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
[131] virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
[141] virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
Levels: setosa versicolor virginica
> 
> 
> 
> #建一个tibble
> 
> annoying <- tibble(
+   `1` = 1:10,
+   `2` = `1` * 2 + rnorm(length(`1`))
+ )
> #画个图查看关系
> ggplot(annoying, aes(x = `1`, y = `2`)) +
+   geom_point() 
> 
> #增加一列
> annoying[["var"]] <- annoying$`2` / annoying$`1`
> 
> annoying
# A tibble: 10 x 3
    `1`   `2`   var
  <int> <dbl> <dbl>
1     1  2.90  2.90
2     2  4.72  2.36
3     3  4.88  1.63
4     4  8.71  2.18
5     5  9.23  1.85
6     6 10.9   1.81
7     7 13.6   1.94
8     8 14.6   1.83
9     9 18.7   2.07
10    10 21.6   2.16
> #重命名
> annoying <- rename(annoying, one = `1`, two = `2`, three = "var")
> glimpse(annoying)
Observations: 10
Variables: 3
$ one   <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
$ two   <dbl> 2.895630, 4.716864, 4.875581, 8.707593, 9.232054, 10.872596, 13.613199, 14.638820, 18.674116, 21.584095
$ three <dbl> 2.895630, 2.358432, 1.625194, 2.176898, 1.846411, 1.812099, 1.944743, 1.829853, 2.074902, 2.158410
> 
> 
> 
> enframe(c(a = 1, b = 2, c = 3))
# A tibble: 3 x 2
 name  value
 <chr> <dbl>
1 a         1
2 b         2
3 c         3
> #enframe可以转化vector为数据框
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容