替换R中数据帧范围内的值
我已经根据每列中的值对数据框中的行进行了排序 我有将值替换为NA或1的代码。但我不知道如何将数字范围替换为1,例如3-6,然后将其余的(1-2和7-10)替换为NA替换R中数据帧范围内的值,r,R,我已经根据每列中的值对数据框中的行进行了排序 我有将值替换为NA或1的代码。但我不知道如何将数字范围替换为1,例如3-6,然后将其余的(1-2和7-10)替换为NA lag.rank <- as.matrix(lag.rank) lag.rank[lag.rank > n] <- NA lag.rank[lag.rank <= n] <- 1 lag.rank n]这就是你想要实现的目标吗 > x <- sample(1:10,20, TRUE) &g
lag.rank <- as.matrix(lag.rank)
lag.rank[lag.rank > n] <- NA
lag.rank[lag.rank <= n] <- 1
lag.rank n]这就是你想要实现的目标吗
> x <- sample(1:10,20, TRUE)
> x
[1] 1 2 8 2 6 4 9 1 4 8 6 1 2 5 8 6 9 4 7 6
> x <- ifelse(x %in% c(3:6), 1, NA)
> x
[1] NA NA NA NA 1 1 NA NA 1 NA 1 NA NA 1 NA 1 NA 1 NA 1
>x
[1] 1 2 8 2 6 4 9 1 4 8 6 1 2 5 8 6 9 4 7 6
>x x
[1] NA NA NA 1 NA 1 NA 1 NA 1 NA 1 NA 1 NA 1 NA 1
这就是您想要实现的目标吗
> x <- sample(1:10,20, TRUE)
> x
[1] 1 2 8 2 6 4 9 1 4 8 6 1 2 5 8 6 9 4 7 6
> x <- ifelse(x %in% c(3:6), 1, NA)
> x
[1] NA NA NA NA 1 1 NA NA 1 NA 1 NA NA 1 NA 1 NA 1 NA 1
>x
[1] 1 2 8 2 6 4 9 1 4 8 6 1 2 5 8 6 9 4 7 6
>x x
[1] NA NA NA 1 NA 1 NA 1 NA 1 NA 1 NA 1 NA 1 NA 1
如果您的数据不是整数而是数字,您可以使用dplyr
包中的between
:
x <- ifelse(between(x,3,6), 1, NA)
x如果数据不是整数而是数字,则可以使用dplyr
包中的between
:
x <- ifelse(between(x,3,6), 1, NA)
x请粘贴实际数据(通常来自dput
或生成数据结构的代码),而不是它的图片。特别是当图片中的数据用作数据输入时,您要求我们转录您的图片。请参见此处:请粘贴实际数据(通常来自dput
或生成数据结构的代码),而不是它的图片。特别是当图片中的数据用作数据输入时,您要求我们转录您的图片。请参见此处:c()
是不必要的,x谢谢!这是我需要的提示。我不得不修改一下,因为它也改变了日期。这是我需要的技巧。我不得不对它做一些修改,因为它也改变了日期。这是一个完全滞后的方法。现在这是一个完全滞后的方法