是否有用于构建包含 2 个变量的箱线图的 R 函数?
Is there an R function for construct a boxplot including 2 variables?
我想用以下两个变量构建一个箱线图。我希望状态为 x 轴,比率为 y 轴,最终图是每个状态的箱线图的组合。真实数据要大得多。
df <- read.table(text = "
State Ratio
WA 100.00%
TX 66.67%
TX 100.00%
CA 0.00%
CO 80.00%
IN 50.00%
MI 0.00%
TX 40.00%
OH 0.00%
UT 0.00%
CA 0.00%
AZ 0.00%
TX 0.00%
GA 0.00%
NY 25.00%
DC 20.00%
NY 85.71%
CA 0.00%
TN 0.00%
CA 40.00%
", header = TRUE, stringsAsFactors = FALSE)
当我使用
boxplot(ratio~State, data = df)
它returns
adding class "factor" to an invalid object
我已经检查过这个错误,我知道这是因为我的状态和比率都是因子 类。但是,如果我将它转换成整数,它会丢失一些信息。希望大家多多指教
您的第一个问题是 Ratio 变量中的 "%"。您需要将变量转换为数字。
df$Ratio <- gsub("%","", df$Ratio)
df$Ratio <- as.numeric(df$Ratio)
boxplot(Ratio~State, data = df)
#ggplot2 is an option:
library(ggplot2)
ggplot(df) + geom_boxplot(aes(x = State, y = Ratio))
我想用以下两个变量构建一个箱线图。我希望状态为 x 轴,比率为 y 轴,最终图是每个状态的箱线图的组合。真实数据要大得多。
df <- read.table(text = "
State Ratio
WA 100.00%
TX 66.67%
TX 100.00%
CA 0.00%
CO 80.00%
IN 50.00%
MI 0.00%
TX 40.00%
OH 0.00%
UT 0.00%
CA 0.00%
AZ 0.00%
TX 0.00%
GA 0.00%
NY 25.00%
DC 20.00%
NY 85.71%
CA 0.00%
TN 0.00%
CA 40.00%
", header = TRUE, stringsAsFactors = FALSE)
当我使用
boxplot(ratio~State, data = df)
它returns
adding class "factor" to an invalid object
我已经检查过这个错误,我知道这是因为我的状态和比率都是因子 类。但是,如果我将它转换成整数,它会丢失一些信息。希望大家多多指教
您的第一个问题是 Ratio 变量中的 "%"。您需要将变量转换为数字。
df$Ratio <- gsub("%","", df$Ratio)
df$Ratio <- as.numeric(df$Ratio)
boxplot(Ratio~State, data = df)
#ggplot2 is an option:
library(ggplot2)
ggplot(df) + geom_boxplot(aes(x = State, y = Ratio))