R_Language 板


LINE

如何用 dplyr 移除特定条件的 row (有NA的情况) ex: ID <- c(1:10) VAL <- c(1,2,3,NA,5,6,7,NA,9,10) data <- data.frame(ID, VAL, stringsAsFactors=F) ### 如果我不要5以下的 我不能写 data %>% filter(VAL >= 6) 会没有 NA 也许可以改成 data %>% filter(VAL >= 6 & is.na(VAL)) 可是万一资料有其他的东西 例如空格, 小老鼠之类的? 有没有什麽办法是 "选到符合条件的, 然後移除那些row" ? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.73.102
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1451892093.A.521.html
1F:→ cywhale: 如果写 data[-which(VAL <= 5),] 符合你所要的吗? 01/04 15:47
2F:→ celestialgod: setdiff(data, data %>% filter(VAL < 6)) 01/04 16:07
3F:→ celestialgod: data %>% setdiff(filter(., VAL < 6)) 01/04 16:12
4F:→ celestialgod: setdiff後来dplyr有新增方法使用於data.frame 01/04 16:13
5F:→ memphis: HI cywhale 根据经验, 那样写如果which=0, 资料会爆掉喔 01/04 16:15
6F:→ memphis: 要先 s <- which(VAL <= 5) 再判断 if(!is.na(s[1])) 01/04 16:16
7F:→ celestialgod: 疑问,为啥which会出现0? 01/04 16:21
8F:→ celestialgod: which(data$VAL <= 5) 应该只会出现1~nrow(data)吧 01/04 16:21
9F:→ memphis: 喔喔 感恩~ c大正解, 这样写起来就很dplyr style 01/04 16:22
10F:→ memphis: 如果资料里没有<=5的 就会选空, 结果等於 integer(0) 01/04 16:23
11F:→ memphis: 所以一般过which 我都会塞到一个s 然後判断有没有东西 01/04 16:25
12F:→ celestialgod: 喔喔 你说NULL喔,我懂了!! 01/04 16:28
13F:→ celestialgod: 我在想0是什麽XDD 01/04 16:28
14F:→ celestialgod: setdiff配上%>%是真的满dplyr style XD 01/04 16:29
15F:→ memphis: 补充: 可是c大的方法好看, 速度非常慢 因为是df的setdiff 01/04 16:59
16F:推 cywhale: ya 我忘记null这状况,通常我也都会加个判断式再做.. 01/04 17:00
17F:→ memphis: data %>% slice(setdiff(1:nrow(.),which(VAL<6))) 01/04 17:03
18F:→ memphis: 上面这个让setdiff回到比两个vector, 只是看起来就丑点 01/04 17:04
19F:→ celestialgod: 我原本要贴这个XD:http://pastebin.com/P468HC0L 01/04 17:40
20F:→ celestialgod: 不过看到cy大用-which就想说算了~~ 01/04 17:40
21F:→ celestialgod: 原来有差异的QQ 01/04 17:42
22F:推 cywhale: If original column contains "@" as memphis said 01/04 21:28
23F:→ cywhale: then the column become character, and these solutions 01/04 21:29
24F:→ cywhale: will differ from data[-which(VAL<=5),] for VAL='10' 01/04 21:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP