r - 如何使用整数列表作为一个整数函数的输入并获得一个列表作为输出?
问题描述
很抱歉问了一个微不足道的问题,但我很难过。情况如下:
- 我有一个三个输入的函数,
fishCounter(data, x, y)
其中data
是一个矩阵,x 和 y 都是整数。 fishCounter
fishCounter(matrix(1:4,4,4), 1, 4)
当我手动调用它时(例如),它在内存中并且工作得很好。它的输出是一个整数。- x的相关数据和值在内存中。x 只是 3,我们将调用 data
trout
。 - 我希望 R 为从 1 到 20 的每个 y 值吐出结果列表。粗略地说,我想要的是
fishCounter(trout, 3, 1:20)
. - R 给我这些数据(例如数组、向量、列表等)的方式并不感兴趣,我只想要输出但是我可以得到它。
- 我试图得到的一切都失败了。我当然可以使用一个 for 循环并将这一切附加到一个向量中,但这似乎太过分了。
- 我的记忆坚持认为有一种非常简单的方法可以得到我想要的东西。我确信某些版本的
replicate
,apply
或lapply
将完成这项工作。 - 我想要的是一个能给我这个结果的函数。例如,当我
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)
推荐阅读
- c - Passing char by reference
- node.js - Jenkins、Docker、Kubernetes、AWS EKS:RUN npm install 要么挂起要么产生 EAI_AGAIN
- java - Android-WebRTC:设置本地描述后调用 MediaStream.removeVideoTrack
- python - 使用熊猫中的方差范围对列进行分组
- excel - 如何在二维表中使用索引功能
- android - 只获取一次随机数据的数据库查询
- hibernate - 如何解决错误消息:必须与引用的主键具有相同的列数
- xamarin - 如何在 Xamarin 表单中向用户发送用户消息?
- python-3.x - 嗨朋友我刚刚安装了opencv并检查了基本代码,但它导致了错误。代码是:
- r - 如何读取多个变量的最大值并使用 R 中的空间接近值形成平均值?