簡體   English   中英

R中具有定性和定量變量的交叉表

[英]Crosstabs with Qualitative and Quantitative Variables in R

到目前為止,我僅看到帶有兩個定性(分類)變量的R交叉表。 我想看一個交叉表的工作示例,該表使用R來表示一個定性變量和一個定量變量。 例如,如果我想查找質量評級(好,中等,差)和價格($ 10-$ 19,$ 20-$ 29,$ 30-$ 39)之間的關系,如何使用R實現此目標? 任何幫助,將不勝感激。

如果我理解您的問題,則希望匯總各個組的數字數據。

在R中有很多方法可以做到這一點,但是我最喜歡的是FSA軟件包中的函數。

其他示例可以在以下鏈接中找到: R手冊:描述性統計

if(!require(FSA)){install.packages("FSA")}

Price = c(10,11,12,13,14,17,19,125,25,22,21,22)
Quality = rep(c("Good", "Fair", "Poor"),4)

Quality = factor(Quality, 
                 order = c("Poor", "Good", "Fair"))

Data = data.frame(Price, Quality)

library(FSA)

Summarize(Price ~ Quality, 
          data=Data)

絕對不是最平滑的選擇,但可行的是

    # Construct dataframe
    quality <- rep(c("Good", "Fair", "Poor"),4)
    price <- c(10,11,12,13,14,17,19,125,25,22,21,22)
    price.cat <- rep(NA, length(price))
    data <- data.frame(quality, price, price.cat)

    # Define new factor variable for certain price categories
    for (i in 1:length(price.cat)){

    # Category 0$-19$
    if (data[i,"price"]<=19){
    data[i, "price.cat"] <- "0-19"}

    # Category 20$-29$
    if (data[i,"price"]>=20 & data[i,"price"]<=29){
    data[i, "price.cat"] <- "20-29"}

    # Category 30$-125$
    if (data[i,"price"]>=30 & data[i,"price"]<=125){
    data[i, "price.cat"] <- "30-125"}
    }

    # Crosstabulate
    table(data$quality, data$price.cat)

通過調整代碼,您可以設置自己的類別。 輸出將如下所示:

在此處輸入圖片說明

這是你想要的嗎?

暫無
暫無

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

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