首页 > 解决方案 > 尝试创建一个确保列表长度为 2 的函数

问题描述

我正在尝试创建一个函数来检查我的列表的长度是否为 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。

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

标签: rfunctionif-statement

解决方案


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

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

推荐阅读