簡體   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