簡體   English   中英

apply函數中的ifelse語句未返回任何值

[英]Ifelse statement inside apply function is not returning any value

我一直在嘗試對默認的Diamond數據集進行一些操作,並提出了一個問題,我需要考慮兩個列值cut = ideal和clear = vs2。 如果這兩個為真,則我的函數將從前n個樣本中返回這些類型鑽石的總數。 我的代碼如下:

idealvs2<- function(n){
  k<-0
  s<-apply(head(diamonds,n),1, function(x)ifelse(diamonds$cut=="Ideal" &&  diamonds$clarity=="VS2",k<-k+1,k<-k+0))
  return(k)
}

idealvs2(10)應該回答3,這沒有發生。

請幫忙

我們需要一個簡單的函數來對邏輯向量sumcut == "Ideal" | clarity == "VS2"

f1 <- function(dat, n){
        tmp <- head(dat, n)
        with(tmp, sum(cut== "Ideal" | clarity == 'VS2'))
 }

f1(diamonds, 10)
#[1] 3

暫無
暫無

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

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