[英]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,這沒有發生。
請幫忙
我們需要一個簡單的函數來對邏輯向量sum
( cut == "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.