繁体   English   中英

如何使用整数列表作为一个整数函数的输入并获得一个列表作为输出?

[英]How can I use a list of integers as the input to a function of one integer and get a list as an output?

抱歉问了一个微不足道的问题,但我很难过。 这是情况:

  • 我有一个包含三个输入的函数fishCounter(data, x, y)其中data是一个矩阵,x 和 y 都是整数。
  • fishCounter在内存中并且在我手动调用时完全正常工作(例如fishCounter(matrix(1:4,4,4), 1, 4) )。 它的输出是一个整数。
  • x 的相关数据和值都在内存中。 x 只是 3,我们将调用数据trout
  • 我希望 R 为从 1 到 20 的每个 y 值吐出结果列表。粗略地说,我想要的是fishCounter(trout, 3, 1:20)
  • R 给我这些数据的方式(例如数组、向量、列表等)并不有趣,我只想要输出但是我可以得到它。
  • 我试图得到这个的一切都失败了。 我当然可以使用 for 循环并将其全部附加到向量中,但这似乎太费力了。
  • 我的记忆坚持认为有一种非常简单的方法可以得到我想要的东西。 我确信某些版本的replicateapplylapply可以完成这项工作。
  • 我想要的是一个单一的函数,它会给我这个结果。 例如,当lapply(c(1:19), fishCounter(trout, 3, y)不起作用时,我感到很惊讶。
  • 不需要任何库,我不需要在任何新函数中编码。 我的记忆坚持认为我要么只是忘记了 R 中内置的函数,忘记了一个可以立即从搜索引擎中获得答案的术语,要么我完全误解了关于我的三个函数的文档前面已经列出了。

我忘记了什么?

也许你可以尝试像下面这样的lapply ,即,

lapply(1:20, function(y) fishCounter(trout, 3, y))

或向Vectorize你的函数fishCounter ,即,

Vectorize(fishCounter)(trout, 3, 1:20)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM