r语言回归分析如何看结果(tidyverse中常用的解析函数总结)
今天在看《R for datascience》这本书的如何读入数据这一章,本来觉得这个挺简单的哈,一看发现自己还有很多不会的,索性就写下来,大家瞅瞅吧。
parse_*()读入数据之前一定要了解的就是这个解析函数parse_*(),它决定了软件到底怎么读入某一个文件。比如相同的东西,不同的解析读入的东西就不一样:
今天就一起给大家写一些常见的解析函数,一共8个parse函数:
- parse_logical()
- parse_integer()
- parse_double()
- parse_number()
- parse_character()
- parse_datetime()
- parse_date()
- parse_time()
解析数字似乎不难,但是也有地方需要注意各个国家表示数字方法不一样:
比如有的国家用,而非.来表示小数点。这个时候就需要使用locale属性:你可以用decimal_mark规定不同的小数点表示方法,比如:
parse_double("1.23")
#> [1] 1.23
parse_double("1,23", locale = locale(decimal_mark = ","))
#> [1] 1.23
parse_number()还有一个特性就是自动忽略数字前后的符号,在百分数和钱的解析中很常用:
parse_number("$100")
#> [1] 100
parse_number("20%")
#> [1] 20
parse_number("It cost $123.45")
#> [1] 123
而对于字符串而言,不同的字符编码存储方法,其打印结果不同,很多时候字符默认的编码是UTF-8,但对于不是此方法编码的字符,解析的时候就得在locale中给出编码方式,否则会出现乱码,比如:
x1 <- "El Ni\xf1o was particularly bad this year"
x2 <- "\x82\xb1\x82\xf1\x82\xc9\x82\xbf\x82\xcd"
对于上面的两个对象进行解析,如果我们不指定正确的编码,得到结果如下图:
指定正确的编码方法后,得到正确的结果:
parse_factor()
你可以直接把因子理解为分类变量,在解析因子的时候需要给出level水平,这样的话解析时遇到的不属于因子水平的变量时,就会自动给出提示,如下:
fruit <- c("apple", "banana")
parse_factor(c("apple", "banana", "bananana"), levels = fruit)
上面的代码中,规定只有两个level水平,但是解析内容中出现了bananana,这个就自动解析为缺失值了,同时程序给出了警告。
parse_datetime()parse_datetime()是用来解析时间的,默认需要的输入是ISO8601型的时间格式,就是“年月日时分秒”的格式,看例子:
parse_datetime("2010-10-01T2010")
#> [1] "2010-10-01 20:10:00 UTC"
# If time is omitted, it will be set to midnight
parse_datetime("20101010")
#> [1] "2010-10-10 UTC"
parse_date()这个默认的格式是4位数字的年加上- or /然后月份,然后再加- or /,然后日期,看例子:
parse_date("2010-10-01")
#> [1] "2010-10-01"
parse_time()默认的输入是小时然后:然后分钟:然后秒,第二个:可以省略,看例子:
library(hms)
parse_time("01:10 am")
#> 01:10:00
parse_time("20:10:01")
#> 20:10:01
重要的是我们可能有自己的输入习惯,这个时候也可以自己设定解析方式,需要用到的方法如下:
Year
- %Y (4 digits).
- %y (2 digits); 00-69 -> 2000-2069, 70-99 -> 1970-1999.
Month
- %m (2 digits).
- %b (abbreviated name, like “Jan”).
- %B (full name, “January”).
Day
- %d (2 digits).
- %e (optional leading space).
Time
- %H 0-23 hour.
- %I 0-12, must be used with %p.
- %p AM/PM indicator.
- %M minutes.
- %S integer seconds.
- %OS real seconds.
- %Z Time zone
Non-digits
- %. skips one non-digit character.
- %* skips any number of non-digits.
这个时候不来点例子,好多同学肯定搞不明白,那就上例子:
parse_date("01/02/15", "%m/%d/%y")
#> [1] "2015-01-02"
parse_date("01/02/15", "%d/%m/%y")
#> [1] "2015-02-01"
parse_date("01/02/15", "%y/%m/%d")
#> [1] "2001-02-15"
上面的例子中,%d、%m、%y表示2位数的日月年,组合的顺序不同,同样的数字解析出来的时间就不同,上面的例子中,同样是01,在一个中解析出来是一月份,第二个中解析出来是1日,第三个中解析出来却是2001年。
小结今天给大家写了常见的解析函数,其实还有文件的解析我还没有写,关注我,之后慢慢给大家写,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python和R的,加油。
(站外链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据)
往期内容:
R数据分析:R Markdown:数据分析过程报告利器,你必须得学呀
R数据分析:stargazer给你一个漂亮的可以直接发表的结果表格
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com