我正在尝试创建一个函数来检查我的列表的长度是否为 2,如果是,则继续下一步。接下来的步骤我还没写,因为我无法准确检查第一步。这是我到目前为止的想法:

  my_function <- function(x) {
  if(length(x) <- 2) {
    return("Correct Length")
  }
}

当我使用以下命令运行此函数时:
my_function(list(c(3)))
my_function(list(c("text")))
my_function(list(c(6, 7), c(2, 4)))

我得到以下结果:
[1] "Correct Length"
[1] "Correct Length"
[1] "Correct Length"

我确定这就是我测量长度的方式,但是如果我尝试将“列表”添加到代码中。我不确定为什么我的函数将前两项评估为 TRUE,因为只有它们的输入应该评估为 TRUE。

随着我继续学习,任何建议都会有所帮助。

最佳答案

<- 用于为变量赋值,== 用于检查相等性。因此,您的支票应该是

if (length(x) == 2) {
    ...
}

关于r - 尝试创建一个确保列表长度为 2 的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52395272/

10-14 16:23