看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 我目前在想要畫一筆資料的趨勢圖 但這個資料有21個項目 也就是說畫成圖有21條線 為了圖的清楚與判讀 我決定"最多"改成畫5條線 也就是說 我的圖可以畫1~5條 隨意選 而要畫得項目則由使用操作者決定要哪些 譬如 時間 項目1 項目2 ..... 項目21 1 A1 B1 U1 2 A2 B2 U2 ... ... ... ... 100 A100 B100 U100 資料時間不只一百筆 另外 項目A~U都是數字 譬如我可以選 時間 49:70 畫 B G H F四條線在這段時間的趨勢 但是我現在對於這問題完全找不到下手點 因為以前我都用先建成矩陣 再畫圖 可是由於不一定畫5條 矩陣維度就會變 而且又不知道使用者會想畫哪幾項目 想請問板上高手的意見 [程式範例]: 構想中 暫無 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.83.97
ching0629:矩陣一樣, 畫圖時用不同的資料檔 03/29 09:02
ching0629:matrix[49:70,c(1,c(2,7,8,6)+1)] 03/29 09:04
ching0629:c(2,7,8,6)就是你選的幾條線的部分 03/29 09:04
MIZUYAMA:感謝樓上回答 可是我是想寫在fun裡面 如果今天要改畫其他 03/29 10:25
MIZUYAMA:如A跟U 那我是不是就要手動調整c(2,7,8,6)? 不過或許可以 03/29 10:27
MIZUYAMA:設定另一個參數限制c的長度? 03/29 10:27
MIZUYAMA:而且function(參數) 的參數我在想有沒有甚麼好辦法讓使用 03/29 10:31
MIZUYAMA:者可以方便的輸入 就可以讓程式知道要畫哪段時間的哪幾項 03/29 10:32
ching0629:c(2,7,8,6)可以視為一個物件,同樣的49:70也可以 03/29 10:46
ching0629:你可以在function裡面寫成 matrix[A,c(1,B+1)] 03/29 10:47
ching0629:然後在外面寫 function(A,B) 03/29 10:47
ching0629:這樣不就可以用函數決定你想畫的圖了? 03/29 10:48
MIZUYAMA:因為有一部分程式我寫好了 現在參數本身就有7個分別是 03/29 11:00
MIZUYAMA:起始年月2 終止年月2 性別1年齡1所在地1 在加太多參數 03/29 11:01
MIZUYAMA:怕使用者會不知道要看哪一個特定的資料 還是我想太多? 03/29 11:02
ching0629:如果不從外部指定要掛哪,那總該有個邏輯吧,怎麼可能沒給 03/29 11:02
ching0629:資訊就要電腦做事 03/29 11:03
ching0629:怕太多參數,年月可以合併,內部再切割,性別/年齡/所在地 03/29 11:04
ching0629:可以欲設成Null,使用者不輸入就使用全部,有指定才特別做 03/29 11:05
MIZUYAMA:C大說的參數A是可以跟起始終止年月併 問題是參數B 03/29 11:05
MIZUYAMA:21個選項 取1~5 變化很多種 我在思考要如何寫才會比較簡 03/29 11:06
MIZUYAMA:潔 又容易維護跟擴充 03/29 11:07
ching0629:參數B不是使用者自訂的嗎? 應該不用考慮變化吧 03/29 11:08
MIZUYAMA:假設參數B=2 那就是要畫兩條線 重點要怎麼讓R知道是畫 03/29 11:14
MIZUYAMA:哪兩條線? 03/29 11:14
lin15:每次都畫5條 在框框外面 要的再改值進到框框裡面 03/29 11:16
ching0629:沒辦法理解m大的想法,如果只告訴R"2",那R當然不知道要畫 03/29 11:19
ching0629:哪兩條線,這個邏輯沒有人可以幫你,也許你想畫斜率最陡的 03/29 11:19
ching0629:或是? 總要講個所以然來,這樣才有辦法幫你 03/29 11:19
lin15:隨機畫兩條? 03/29 11:19
MIZUYAMA:譬如告訴R畫兩條 然後使用者告訴R要畫 F L這兩條 03/29 11:22
MIZUYAMA:要如何用簡單的方式法告訴R 要畫LH這兩條? 03/29 11:23
MIZUYAMA:打錯 是LF 可以畫5條 所以都要在f(參數) 讓使用者設定? 03/29 11:24
ching0629:當然要讓使用者自己設定,還是你想問的是,使用者輸入英文 03/29 12:01
ching0629:裡面改成數字? 03/29 12:01
ching0629:如果是這樣的話,就自己在內部創一個物件,A到U,然後用 03/29 12:02
ching0629:which找出使用者輸入的英文是第幾個 03/29 12:02
Wush978:不知道shiny是否你要的 03/29 15:56
ccgohwugur: 已朝聖XDDDDD 02/01 17:58