簡體   English   中英

R函數不會打印列表中單個項目的總和

[英]R function won't print sums of individual items in lists

我有一個名為“ thalachbysite”的列表,其中有4個列表,每個內部列表都有數百個項目。

我想獲取每個內部列表的總和,所以我嘗試了:

for (i in 1:length(thalachbysite)) {
  sum(thalachbysite[[i]])
}

我的輸出完全是空的-它接受輸入,沒有錯誤或警告,但我的屏幕仍然空白。 誰能解釋為什么?

我可以理解為什么這會造成混淆,但是基本上, for循環返回NULL。 因此,如果將sum放入循環中,則需要顯式打印或返回值,例如要打印:

l <- list(x = 1:10, y = 11:20)
for(i in 1:length(l)) {print(sum(l[[i]]))}
[1] 55
[1] 155

這就是說-一個for循環不是在這種情況下,一個很好的解決方案。 最好使用apply函數,例如lapplysapply

lapply(l, sum)
$x
[1] 55

$y
[1] 155

sapply(l, sum)
  x   y 
 55 155 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM