浏览文件内容

更新 'chap3/tidy.md'

三藏唐 6 年之前
父节点
当前提交
29afa6c9f6
共有 1 个文件被更改: 26 次插入, 3 次删除
  1. 26 3
      chap3/tidy.md

+ 26 - 3
chap3/tidy.md

@@ -7,7 +7,7 @@
 这是日常生活和科研记录中的常用记录数据形式,但为了节省纸张、或者为了数据紧凑直观,有时候也不这样记录,特别是对于多因素试验的情况。比如,这个表:
 为了数据分析的需要,需要先将这种形式的数据转化为上述标准格式。这个过程叫做数据整理(tidy),整理好的标准数据也叫做tidy数据。
 
-##### tidyverse
+##### tidyverse、tidyr
 
 tidyverse是用于数据整理的R包。
 安装:install.packages('tidyverse')
@@ -21,7 +21,30 @@ devtools::install_github("tidyverse/tidyr")
 library('tidyr')
 
 
-#### tidyr
+#### 筛选记录(filter)
 
-tidyr是
+filter(flights, month == 1, day == 1)
+比较运算符:>, >=, <, <=, != (不等于), and == (等于).
+注意,等于是==而不是=,前者是比较运算符,后者是赋值运算符,这一点容易出错。
 
+另外需要注意的是在使用==比较浮点数时,计算机提供的有限精度的近似而不是绝对精确的数值(物质的有限可分性原理)
+
+sqrt(2) ^ 2 其实并不等于2,测试一下:
+
+```{r}
+sqrt(2) ^ 2
+#> [1] FALSE
+1/49 * 49 == 1
+#> [1] FALSE
+```
+这时不要使用==,代之以near()函数:
+
+```{r}
+near(sqrt(2) ^ 2,  2)
+#> [1] TRUE
+near(1 / 49 * 49, 1)
+#> [1] TRUE
+```
+
+逻辑运算符:|、& 、!、xor
+filter(flights, month == 11 | month == 12)