2019年8月3日 星期六

R語言之日常_ggplot2:geom_histogram用於連續資料;geom_bar()用於離散資料

最近都學習R  當然參閱很多的範例  有些範例已經較舊  照著做東西出不來

像直方圖較舊範例使用geom_histogram使用後出現下列錯誤訊息
Error: StatBin requires a continuous x variable: the x variable is discrete. Perhaps you want stat="count"?
意思說"需要一個連續變數,而你目前的變數是離散資料"  甚麼是連續?  甚麼是離散
a<-c(1:5)(連續資料)
b <- c("tom","john","joe")(離散資料)

可是看很多的範例  左看右看  都沒問題
原因是較舊的R版本使用geom_histogram可支援連續資料和離散資料,但新的版本將兩者採用不同的指令

目前我的R版本是分別是R Studio Version 1.2.1335;R 3.5.2
若是你的資料使用離散必須使用geom_bar才可以
以下為ggplot2局部程式
ggplot(train,aes(x=Pclass,fill=factor(Survived)))+
  geom_bar(width=0.5)+
  xlab("Pclass")+
  ylab("Total Count")+
  labs(fill="Survived")

大功告成!




2019年8月2日 星期五

R語言之日常_使用rbind出現Error in match.names(clabs, names(xi)) : names do not match previous names

今天重拾R 語言使用rbind指令
在簡單不過,竟出現
Error in match.names(clabs, names(xi)) : names do not match previous names

我的語法 data.combined <- rbind(train, test.survived)

將train資料與test.survived資料倆資料合併,左看右看都不知道哪有錯!

上網google說要用matrix矩陣才可,辜且一試語法如下
data.combined  <- rbind(train,matrix(test.survived))
出現以下錯誤
Error in rbind(deparse.level, ...) :
  numbers of columns of arguments do not match

之後使用dplyr套件,語法如下
library(dplyr)
data.combined <- bind_rows(train, test.survived)
雖出現一些警告訊息,基本上對資料的合併是沒問題的

而dplyr()套件,相較於R原生的資料處理語法,dplyr() 套件中融入很多概念與結構化查詢語言(Structured Query Language,SQL)類似的函數。搭配 %>% 運算子一起使用,能夠讓我們整理資料的能力獲得一個層次的提升!

無現金支付的反思!

  **購物經歷** - 作者花費大量時間尋找立燈,最終在IKEA購買了一個649元的立燈 - 在IKEA附近停車場遇到只接受無現金支付的情況,被迫註冊並使用Line Pay **無現金支付的觀察** - 作者認為Line Pay作為前端介面,有助於提高停車場付費效率 - 作者預...