簡體   English   中英

R將數據與因子和水平分組

[英]R grouping data with factors and levels

我正在嘗試制作一個頻率表,將值分組為有限數量的箱。

說我有數據

X <- c(1,2,3,4,3,9, 20)

我可以創建一個頻率表,使其顯示所有空單元格,如下所示:

(factor(X, levels = c(0:max(X))))

我想將bin值>5 ,而不是顯示每個可能值的頻率,以便表上的級別為: 0, 1, 2, 3, 4, 5, and >5

我怎樣才能做到這一點?

您首先需要轉換向量以使其具有唯一條目,然后您可以在factor()函數中添加缺少的級別:

X <- c(1,2,3,4,3,9,20)
X <- ifelse(X>5,">5",X)
X <- factor(X,levels=c(0:5,">5"))

這導致:

X [1] 1 2 3 4 3> 5> 5級別:0 1 2 3 4 5> 5

Sacha已經給你一個有效的答案,但是為了將來參考,你可能想要熟悉cut函數,它旨在將連續變量分解為塊。

x <- cut(x, c(-Inf, 0:5, Inf), labels=c(0:5, ">5"))

暫無
暫無

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

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