条件结构,R
Conditional structures, R
我是 R 的新用户。
我的数据名如下:
Month eqqBio eqqLi ..........
January 20 20000
February 100 500
.
.
.
eqqBio 和 eqqLi 这 2 列是与上一年相比的百分比。
我的目标是,如果与上一年相比的 % 是 1000(或 +),则您将其标记或指示异常值的消息。
只是我不了解条件结构,我不知道我必须如何进行..
提前致谢!
df <- data.frame(Month = c("January", "February"),
eqqBio = c(20, 100),
eqqLi = c(20000, 500))
df$alert <- df$eqqBio > 1000 | df$eqqLi > 1000
这为您提供了一个新专栏。如果 eqqBio 和 eqqLi 均低于 1000,则相应行中的值为 FALSE。否则为真。
如果您有超过 2 列,您可以这样做:
# sample data
df <- data.frame(Month = c("January", "February", "March"),
eqqBio = c(20, 100, 0),
eqqLi = c(20000, 500, 0),
dummy1 = c(0, 0, 1001),
dummy2 = c(0, 0, 0))
# Check is any values in this row are > 1000 but only check columns 2:5.
df$alert <- apply(df[, 2:5], 1, function(x) any(x > 1000))
通过更改 df[, 2:5]
中的 2:5
来调整您希望包含的列。
我是 R 的新用户。
我的数据名如下:
Month eqqBio eqqLi ..........
January 20 20000
February 100 500
.
.
.
eqqBio 和 eqqLi 这 2 列是与上一年相比的百分比。 我的目标是,如果与上一年相比的 % 是 1000(或 +),则您将其标记或指示异常值的消息。 只是我不了解条件结构,我不知道我必须如何进行..
提前致谢!
df <- data.frame(Month = c("January", "February"),
eqqBio = c(20, 100),
eqqLi = c(20000, 500))
df$alert <- df$eqqBio > 1000 | df$eqqLi > 1000
这为您提供了一个新专栏。如果 eqqBio 和 eqqLi 均低于 1000,则相应行中的值为 FALSE。否则为真。
如果您有超过 2 列,您可以这样做:
# sample data
df <- data.frame(Month = c("January", "February", "March"),
eqqBio = c(20, 100, 0),
eqqLi = c(20000, 500, 0),
dummy1 = c(0, 0, 1001),
dummy2 = c(0, 0, 0))
# Check is any values in this row are > 1000 but only check columns 2:5.
df$alert <- apply(df[, 2:5], 1, function(x) any(x > 1000))
通过更改 df[, 2:5]
中的 2:5
来调整您希望包含的列。