首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将na.rm作为参数添加到r中的自定义函数中

将na.rm作为参数添加到r中的自定义函数中
EN

Stack Overflow用户
提问于 2019-07-04 07:56:19
回答 1查看 678关注 0票数 1

我写了一篇有趣的文章,用来规范从0到5的一组数字。但是我有NAs作为我的数据的一部分,我希望能跳过它们,移到下一个值。

我试过这样的代码:

代码语言:javascript
运行
复制
IDNO<-1:11
Scores<-c(1:10,NA)
ScoreDF<-as.data.frame(cbind(IDNO,Scores))
Normalize.Final.Score.fun <- function(x){
  5*(x-min(x))/(max(x)-min(x))
}

ScoreDF<-ScoreDF %>% 
  mutate(BotanicalVal=Normalize.Final.Score.fun(Scores))

我希望输出与运行这一行的结果一样:

代码语言:javascript
运行
复制
ScoreDF$ExpectedBotanicalVal<- c(Normalize.Final.Score.fun(Scores[1:10]),"NA")

1 "0“"0.555555555555556”"1.11111111111111“4 "1.66666666666667”"2.22222222222222“"2.77777777777778”7 "3.33333333333333“3.88888888888889”4.44444444444444“10 "5” "NA“

而我只得到了NAs。提前感谢您的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-04 08:01:10

只需将na.rm = TRUE添加到您的呼叫中即可

代码语言:javascript
运行
复制
Normalize.Final.Score.fun <- function(x) {
  5 * (x - min(x, na.rm = TRUE)) / (max(x, na.rm = TRUE) - min(x, na.rm = TRUE))
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56883205

复制
相关文章

相似问题

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