首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换R中数据框中某个范围内的值

替换R中数据框中某个范围内的值
EN

Stack Overflow用户
提问于 2018-03-14 15:13:48
回答 2查看 4.1K关注 0票数 0

我已经根据每列中的值对数据框中的行进行了排名。Ranking 1-10. not every column in picture

我有将值替换为NA或1的代码,但我不知道如何用1替换3-6,然后用NA替换其余的(1-2和7-10)。

代码语言:javascript
复制
lag.rank <- as.matrix(lag.rank)
lag.rank[lag.rank > n] <- NA
lag.rank[lag.rank <= n] <- 1

目前,它只替换n以上或n以下的数字。有什么建议吗?我想这应该很简单吧?

EN

回答 2

Stack Overflow用户

发布于 2018-03-14 15:19:46

这就是你想要实现的目标吗?

代码语言:javascript
复制
> 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
票数 3
EN

Stack Overflow用户

发布于 2018-03-14 16:35:18

如果您的数据不是整数而是数字,您可以使用dplyr包中的between

代码语言:javascript
复制
x <- ifelse(between(x,3,6), 1, NA)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49271665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档