tft每日頭條

 > 科技

 > r語言回歸分析如何看結果

r語言回歸分析如何看結果

科技 更新时间:2025-01-10 13:54:49

今天在看《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給你一個漂亮的可以直接發表的結果表格

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved