为文本/字符变量生成"invalid"的 R 函数



>我正在尝试在R中创建一个函数,如果整数大于100,则输出"pass",如果小于100则输出"fail",如果等于100,则输出"中性"。对于字符变量/文本,代码应显示"无效"。

这是我到目前为止的代码:

compare <- function(x) {
 if (x>100) {
  result = "pass"
 }
 else if (x<100) {
 result = "fail"
 }
 else if (x==100) {
 result = "neutral"
 }
 else if (is.character(x) == TRUE) {
 result = "invalid"
 }
 print(result)
 }
compare(10)
compare(100)
compare(120)
compare("text")
我希望比较(10(产生"失败",比较(100(产生"中性",比较(

120(产生"通过",比较("文本"(产生"无效"。但是,所有整数都有效,compare("text"(不断产生"pass"而不是"invalid"。比较(as.character("text"((也只产生"pass"。

要创建条件语句,您需要==而不是=

compare <- function(x) {
  if (!is.numeric(x)) {
    result = "invalid"
  } else  if (x>100) {
    result = "pass"
  } else if (x<100) {
    result = "fail"
  } else if (x==100) {
    result = "neutral"
  } 
  print(result)
}

这个功能对我有用。以下是输出测试。

> compare(10)
[1] "fail"
> compare(100)
[1] "neutral"
> compare(120)
[1] "pass"
> compare("hello")
[1] "invalid"

相关内容

  • 没有找到相关文章

最新更新