[問題] 如何建構這個問題的程式

看板R_Language作者 (致命祈願)時間11年前 (2013/03/29 08:44), 編輯推噓5(5034)
留言39則, 5人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用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

03/29 09:02, , 1F
矩陣一樣, 畫圖時用不同的資料檔
03/29 09:02, 1F

03/29 09:04, , 2F
matrix[49:70,c(1,c(2,7,8,6)+1)]
03/29 09:04, 2F

03/29 09:04, , 3F
c(2,7,8,6)就是你選的幾條線的部分
03/29 09:04, 3F

03/29 10:25, , 4F
感謝樓上回答 可是我是想寫在fun裡面 如果今天要改畫其他
03/29 10:25, 4F

03/29 10:27, , 5F
如A跟U 那我是不是就要手動調整c(2,7,8,6)? 不過或許可以
03/29 10:27, 5F

03/29 10:27, , 6F
設定另一個參數限制c的長度?
03/29 10:27, 6F

03/29 10:31, , 7F
而且function(參數) 的參數我在想有沒有甚麼好辦法讓使用
03/29 10:31, 7F

03/29 10:32, , 8F
者可以方便的輸入 就可以讓程式知道要畫哪段時間的哪幾項
03/29 10:32, 8F

03/29 10:46, , 9F
c(2,7,8,6)可以視為一個物件,同樣的49:70也可以
03/29 10:46, 9F

03/29 10:47, , 10F
你可以在function裡面寫成 matrix[A,c(1,B+1)]
03/29 10:47, 10F

03/29 10:47, , 11F
然後在外面寫 function(A,B)
03/29 10:47, 11F

03/29 10:48, , 12F
這樣不就可以用函數決定你想畫的圖了?
03/29 10:48, 12F

03/29 11:00, , 13F
因為有一部分程式我寫好了 現在參數本身就有7個分別是
03/29 11:00, 13F

03/29 11:01, , 14F
起始年月2 終止年月2 性別1年齡1所在地1 在加太多參數
03/29 11:01, 14F

03/29 11:02, , 15F
怕使用者會不知道要看哪一個特定的資料 還是我想太多?
03/29 11:02, 15F

03/29 11:02, , 16F
如果不從外部指定要掛哪,那總該有個邏輯吧,怎麼可能沒給
03/29 11:02, 16F

03/29 11:03, , 17F
資訊就要電腦做事
03/29 11:03, 17F

03/29 11:04, , 18F
怕太多參數,年月可以合併,內部再切割,性別/年齡/所在地
03/29 11:04, 18F

03/29 11:05, , 19F
可以欲設成Null,使用者不輸入就使用全部,有指定才特別做
03/29 11:05, 19F

03/29 11:05, , 20F
C大說的參數A是可以跟起始終止年月併 問題是參數B
03/29 11:05, 20F

03/29 11:06, , 21F
21個選項 取1~5 變化很多種 我在思考要如何寫才會比較簡
03/29 11:06, 21F

03/29 11:07, , 22F
潔 又容易維護跟擴充
03/29 11:07, 22F

03/29 11:08, , 23F
參數B不是使用者自訂的嗎? 應該不用考慮變化吧
03/29 11:08, 23F

03/29 11:14, , 24F
假設參數B=2 那就是要畫兩條線 重點要怎麼讓R知道是畫
03/29 11:14, 24F

03/29 11:14, , 25F
哪兩條線?
03/29 11:14, 25F

03/29 11:16, , 26F
每次都畫5條 在框框外面 要的再改值進到框框裡面
03/29 11:16, 26F

03/29 11:19, , 27F
沒辦法理解m大的想法,如果只告訴R"2",那R當然不知道要畫
03/29 11:19, 27F

03/29 11:19, , 28F
哪兩條線,這個邏輯沒有人可以幫你,也許你想畫斜率最陡的
03/29 11:19, 28F

03/29 11:19, , 29F
或是? 總要講個所以然來,這樣才有辦法幫你
03/29 11:19, 29F

03/29 11:19, , 30F
隨機畫兩條?
03/29 11:19, 30F

03/29 11:22, , 31F
譬如告訴R畫兩條 然後使用者告訴R要畫 F L這兩條
03/29 11:22, 31F

03/29 11:23, , 32F
要如何用簡單的方式法告訴R 要畫LH這兩條?
03/29 11:23, 32F

03/29 11:24, , 33F
打錯 是LF 可以畫5條 所以都要在f(參數) 讓使用者設定?
03/29 11:24, 33F

03/29 12:01, , 34F
當然要讓使用者自己設定,還是你想問的是,使用者輸入英文
03/29 12:01, 34F

03/29 12:01, , 35F
裡面改成數字?
03/29 12:01, 35F

03/29 12:02, , 36F
如果是這樣的話,就自己在內部創一個物件,A到U,然後用
03/29 12:02, 36F

03/29 12:02, , 37F
which找出使用者輸入的英文是第幾個
03/29 12:02, 37F

03/29 15:56, , 38F
不知道shiny是否你要的
03/29 15:56, 38F

02/01 17:58, , 39F
已朝聖XDDDDD
02/01 17:58, 39F
文章代碼(AID): #1HLEFwG8 (R_Language)
文章代碼(AID): #1HLEFwG8 (R_Language)