作者ms0344303 (我不玩了)
看板R_Language
標題[問題] 以性別比預測或觀察點餐內容
時間Tue May 30 18:34:08 2017
[問題類型]:程式諮詢
意見調查(我對R 有個很棒的想法,想問問大家的意見)
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
效能諮詢(我想讓R 跑更快)
經驗諮詢(我想用R 連接某些資料庫,請問大家的經驗)
[軟體熟悉度]:入門
請把以下不需要的部份刪除
新手(沒寫過程式,R 是我的第一次)
入門(寫過其他程式,只是對語法不熟悉)
使用者(已經有用R 做過不少作品)
開發者(有撰寫R 的套件經驗)
[問題敘述]:
http://i.imgur.com/0KNI5Cx.jpg
如這張照片所圈示 這是一份KTV點餐紀錄
本來有些餐點價格是開箱低消0元優惠的刪除了
一份單子會有很多不同食物 這資料是以食物種類建檔 每種食物就是一筆
不同的人去消費原則上是以BILLCODE去做區分
我本來是想分析性別比(男生/總人數)的差異對於點餐組成有沒有影響
後來發現性別比居然也有290幾種數值
不能以簡單長條圖或圓餅圖了
想問大家有沒有好用的套件或一些做法可以達到我的目的
請簡略描述你所要做的事情,或是這個程式的目的
[程式範例]:
library(dplyr)
library(tidyr)
library(ggplot2)
library(data.table)
#讀黨 建立性別比
ticketdata1 <- fread( "customerBehavior3.csv", stringsAsFactors = FALSE,
header = TRUE, sep = ",",encoding="UTF-8" )
ticketdata1$Genderratio <- ticketdata1$MaleNumber / ticketdata1$CustomerNumber
#刪除優惠0元點單(子集合)
MealSpending.sub <- subset(ticketdata1,MealSpending > 0, select =
StoreCode:Genderratio )
unique(MealSpending.sub$Genderratio)
grouped <- group_by(MealSpending.sub, Genderratio , MealType)
#啤酒類出現最多次
table(grouped$MealType)
目前是這樣而已 因為下一步不確定怎麼分析比較有效率
張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題
建立重現錯誤的方法可以參考:
程式碼可貼於以下網站:
http://ideone.com/
http://codepad.org
http://pastie.org/
http://nopaste.info/
http://pastebin.com/
http://paste.plurk.com
http://gist.github.com/
http://nopaste.csie.org/
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
裡面含有所有你使用的作業系統、R 的版本和套件版本資訊,
讓版友更容易找出錯誤
[關鍵字]:
選擇性,也許未來有用
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.16.128
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1496140451.A.600.html
→ hohiyan: 你可能需要先把你的研究/分析問題弄清楚一點 05/30 22:09
→ hohiyan: 軟體只是工具,你丟什麼進去它就吐什麼給你 05/30 22:10
→ hohiyan: 如『對於點餐組成有沒有影響』是指什麼樣的影響? 05/30 22:11
→ hohiyan: 數量上的影響?種類上的影響?點餐時段上的影響? 05/30 22:11
→ ms0344303: 這邊組成是指種類上的影響 05/30 22:33
推 cd12631: 你可以嘗試先把性別比>0.5的抓出來 05/30 22:38
→ cd12631: 因為性別比>0.5 等於該組客人中男性佔多數 05/30 22:39
→ cd12631: 然後把性別比>0.5的資料全部置換成同一種輸入 05/30 22:40
→ cd12631: 去看看在男性多的時候 每種食物出現的筆數 05/30 22:41
→ cd12631: 就可以去作一個長條圖顯示在男性為多的客人中 食物銷量 05/30 22:41
→ cd12631: 反之要看女生為多就抓<0.5 05/30 22:42
→ cd12631: 更進階一點可以去做一些連結分析的模型 05/30 22:43