r语言回归分析如何看结果(tidyverse中常用的解析函数总结)

今天在看《R for datascience》这本书的如何读入数据这一章,本来觉得这个挺简单的哈,一看发现自己还有很多不会的,索性就写下来,大家瞅瞅吧。

parse_*()

读入数据之前一定要了解的就是这个解析函数parse_*(),它决定了软件到底怎么读入某一个文件。比如相同的东西,不同的解析读入的东西就不一样:

r语言回归分析如何看结果(tidyverse中常用的解析函数总结)(1)

今天就一起给大家写一些常见的解析函数,一共8个parse函数:

  • parse_logical()
  • parse_integer()
  • parse_double()
  • parse_number()
  • parse_character()
  • parse_datetime()
  • parse_date()
  • parse_time()
parse_number()

解析数字似乎不难,但是也有地方需要注意各个国家表示数字方法不一样:

比如有的国家用,而非.来表示小数点。这个时候就需要使用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

parse_character()

而对于字符串而言,不同的字符编码存储方法,其打印结果不同,很多时候字符默认的编码是UTF-8,但对于不是此方法编码的字符,解析的时候就得在locale中给出编码方式,否则会出现乱码,比如:

x1 <- "El Ni\xf1o was particularly bad this year" x2 <- "\x82\xb1\x82\xf1\x82\xc9\x82\xbf\x82\xcd"

对于上面的两个对象进行解析,如果我们不指定正确的编码,得到结果如下图

r语言回归分析如何看结果(tidyverse中常用的解析函数总结)(2)

指定正确的编码方法后,得到正确的结果:

r语言回归分析如何看结果(tidyverse中常用的解析函数总结)(3)

parse_factor()

你可以直接把因子理解为分类变量,在解析因子的时候需要给出level水平,这样的话解析时遇到的不属于因子水平的变量时,就会自动给出提示,如下:

fruit <- c("apple", "banana") parse_factor(c("apple", "banana", "bananana"), levels = fruit)

r语言回归分析如何看结果(tidyverse中常用的解析函数总结)(4)

上面的代码中,规定只有两个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

    分享
    投诉
    首页