簡體   English   中英

在R中使用Apply函數代替for和branch語句

[英]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.

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