[問題] 篩選問題

作者: clansoda (小笨)   2016-11-25 12:34:53
各位好,我不知道這個命題怎麼寫但是它是關於篩選的問題
假如我有三個可篩選的向量
A 是 空白 老鼠 老虎
B 是 空白 小時候 長大
C 是 空白 卵生 胎生
我要做的是 假如A是空白 B也是空白 那就只篩
dat[c == 使用者輸入的值] 這樣
假如只有B是空白 那就變成
dat[A == 使用者輸入 & C == 使用者輸入]
不知道我這樣解釋會不會不太清楚
就跟一般網頁的用法一樣,空白的就忽略它
但是我寫不出類似的感覺,只能用很多if來包裝
我覺得這樣程式會很複雜,所以來請教
dat[A & B & C] 是我最想一次寫完的方式可是
B如果是空白的話,就會導致整個data都沒辦法出來
想請問有什麼更好的方法可以寫這個篩選呢
前提是一定要有空白這個,因為如果不加空白這個選項
預設就會是老虎或老鼠其中一個,可是假如使用者不想篩的話
會沒辦法使用,因為A一定會是老虎或老鼠其中一個而不是兩種都呈現
作者: cywhale (cywhale)   2016-11-25 14:20:00
看不太懂,如果使用者輸入A=老鼠, 那得到的答案是什麼呢?如果使用者輸入A=c(老鼠, 老虎),得到的答案又是什麼?
作者: clansoda (小笨)   2016-11-25 15:18:00
我自己回自己 最後一行寫成 dat[parse(text = picachu)%>% eval] 就可以達成把character pass進去的作用了
作者: andrew43 (討厭有好心推文後刪文者)   2016-11-25 17:17:00
感覺最終是想做成類似試算表軟體在欄頭的自動篩選功能?
作者: clansoda (小笨)   2016-11-25 17:43:00
試算表是excel嗎? 我不太清楚excel有甚麼功能耶我覺得有點像是股票那種拉來拉去的感覺

Links booklink

Contact Us: admin [ a t ] ucptt.com