[英]Using apply functions instead of for and branching statements in R
我正在使用R,並且想停止使用分支和for語句來利用apply函數。 話雖如此,我有這個清單,x:
x <-c(5,12,19,26,2,9,16,23)
我想要一個相應的列表,如下所示:
for i in x
if (i<=7) 1
else if (i<=14) 2
else if (i<=21) 3
else if (i<=28) 4
else 5
最終的新列表將是:1,2,3,4,1,2,3,4
如何使用apply語句之一執行此操作? 每次我嘗試寫一個時,我都會撓頭一個小時,然后在這里發一個問題。
謝謝。
只需使用cut
:
x <- c(5, 12, 21, 35)
as.integer(cut(x, c(-Inf, 7, 14, 21, 28, Inf)))
#[1] 1 2 3 5
顯示ifelse用法:
ifelse(x<7,1,ifelse(x<14,2,ifelse(x<21,3,ifelse(x<28,4,5))))
[1] 1 2 3 4 1 2 3 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.