运算符
我有一个名为newerror的数据集和名为error
的变量error
-----
normal
normal
speed
active
我想只选择正常且有效的错误。
请参阅下面的代码我试过
subset(newerror, error ==("normal") | ("active"))
但这是错误
错误::
中的意外符号
答案 0 :(得分:1)
你需要
subset(newerror, error =="normal" | error == "active")
或
subset(newerror, error %in% c("normal", "active"))
答案 1 :(得分:1)
使用方括号在R中进行子集特别有效。
df <- data.frame(id = c("B", "A", "D", "C"), y = c(6, 8, 1, 5))
df
id y
1 B 6
2 A 8
3 D 1
4 C 5
df3 <- df[df$id == "A" | df$id == "B", ]
df3
id y
1 B 6
2 A 8
条件df[df$id == "A" | df$id == "B", ]
后面的逗号表示您指的是数据帧的行。如果逗号在条件之前,则表示您按列索引。
答案 2 :(得分:1)
使用newerror
data.frame
error <- c("normal", "abnormal", "normal", "abnormal", "active", "nonactive", "active")
value <- c(2, 4, 1, 5, 3, 2, 7)
newerror <- data.frame(error, value)
您可以使用dplyr
和filter
library(dplyr)
dplyr::filter(newerror, error %in% c("normal", "active"))
error value
1 normal 2
2 normal 1
3 active 3
4 active 7