使用波浪号公式获取箱线图的摘要
Get summary of boxplot with tilde formular
我正在尝试获取箱线图的值,但在使用波浪号公式时无法正常工作。
我觉得这只是一个简单的问题,但我使用错误的热量来寻找答案...
这是我尝试过的:
numbers <- c(6, 1, 1, 1, 3, 3, 2, 3, 13, 13, 4, 7, 38, 1, 12, 9, 4, 65, 9, 23)
groups <- c("A", "B", "D", "E", "F", "G", "B", "C", "D", "E", "F", "A", "B", "C", "D", "E", "F", "A", "B", "D")
boxplot(numbers~groups)
summary(numbers~groups)
我刚得到一个输出
Length Class Mode
3 formula call
如何获取箱线图的值(例如最小值、第一区中值等)
输出应如下所示:
A B (...)
Min. : ? Min. : ? (...)
1st Qu.: ? 1st Qu.: ? (...)
Median : ? Median : ? (...)
Mean : ? Mean : ? (...)
3rd Qu.: ? 3rd Qu.: ? (...)
Max. : ? Max. : ? (...)
我实际上不知道您是否可以在 summary
命令中使用波浪号运算符来执行此操作。
但是还有其他选择,例如 tapply
:
tapply(numbers,groups,summary)
或者 Psych
包中的 describeBy
函数:
# install.packages("psych")
library("psych")
describeBy(numbers,groups,mat=TRUE)
输出:
item group1 vars n mean sd median trimmed mad min max range skew
11 1 A 1 3 26.000000 33.7786915 7.0 26.000000 1.4826 6 65 59 0.38452071
12 2 B 1 4 12.500000 17.3685540 5.5 12.500000 5.9304 1 38 37 0.66132091
13 3 C 1 2 2.000000 1.4142136 2.0 2.000000 1.4826 1 3 2 0.00000000
14 4 D 1 4 12.250000 8.9953692 12.5 12.250000 8.1543 1 23 22 -0.06221018
15 5 E 1 3 7.666667 6.1101009 9.0 7.666667 5.9304 1 13 12 -0.20782656
16 6 F 1 3 3.666667 0.5773503 4.0 3.666667 0.0000 3 4 1 -0.38490018
17 7 G 1 1 3.000000 NA 3.0 3.000000 0.0000 3 3 0 NA
kurtosis se
11 -2.333333 19.5021366
12 -1.756576 8.6842770
13 -2.750000 1.0000000
14 -1.878463 4.4976846
15 -2.333333 3.5276684
16 -2.333333 0.3333333
17 NA NA
尝试使用聚合函数
aggregate(numbers,list(groups),summary)
Group.1 x.Min. x.1st Qu. x.Median x.Mean x.3rd Qu. x.Max.
1 A 6.000 6.500 7.000 26.000 36.000 65.000
2 B 1.000 1.750 5.500 12.500 16.250 38.000
3 C 1.000 1.500 2.000 2.000 2.500 3.000
4 D 1.000 9.250 12.500 12.250 15.500 23.000
5 E 1.000 5.000 9.000 7.667 11.000 13.000
6 F 3.000 3.500 4.000 3.667 4.000 4.000
7 G 3.000 3.000 3.000 3.000 3.000 3.000
数据在箱线图函数中。如果将其保存为一个对象,它将包含矩阵中的所有统计信息。
bp <- boxplot(numbers~groups)
bp$stats
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 6.0 1.0 1 1.0 1 3.0 3
[2,] 6.5 1.5 1 6.5 5 3.5 3
[3,] 7.0 5.5 2 12.5 9 4.0 3
[4,] 36.0 23.5 3 18.0 11 4.0 3
[5,] 65.0 38.0 3 23.0 13 4.0 3
在箱线图的帮助下,您可以看到它包含一个组件列表,其中一个组件包含您需要的信息。
stats a matrix, each column contains the extreme of the lower
whisker, the lower hinge, the median, the upper hinge and the extreme
of the upper whisker for one group/plot. If all the inputs have the
same class attribute, so will this component.
函数 fivenum
计算了相同的统计数据
我正在尝试获取箱线图的值,但在使用波浪号公式时无法正常工作。
我觉得这只是一个简单的问题,但我使用错误的热量来寻找答案...
这是我尝试过的:
numbers <- c(6, 1, 1, 1, 3, 3, 2, 3, 13, 13, 4, 7, 38, 1, 12, 9, 4, 65, 9, 23)
groups <- c("A", "B", "D", "E", "F", "G", "B", "C", "D", "E", "F", "A", "B", "C", "D", "E", "F", "A", "B", "D")
boxplot(numbers~groups)
summary(numbers~groups)
我刚得到一个输出
Length Class Mode
3 formula call
如何获取箱线图的值(例如最小值、第一区中值等)
输出应如下所示:
A B (...)
Min. : ? Min. : ? (...)
1st Qu.: ? 1st Qu.: ? (...)
Median : ? Median : ? (...)
Mean : ? Mean : ? (...)
3rd Qu.: ? 3rd Qu.: ? (...)
Max. : ? Max. : ? (...)
我实际上不知道您是否可以在 summary
命令中使用波浪号运算符来执行此操作。
但是还有其他选择,例如 tapply
:
tapply(numbers,groups,summary)
或者 Psych
包中的 describeBy
函数:
# install.packages("psych")
library("psych")
describeBy(numbers,groups,mat=TRUE)
输出:
item group1 vars n mean sd median trimmed mad min max range skew
11 1 A 1 3 26.000000 33.7786915 7.0 26.000000 1.4826 6 65 59 0.38452071
12 2 B 1 4 12.500000 17.3685540 5.5 12.500000 5.9304 1 38 37 0.66132091
13 3 C 1 2 2.000000 1.4142136 2.0 2.000000 1.4826 1 3 2 0.00000000
14 4 D 1 4 12.250000 8.9953692 12.5 12.250000 8.1543 1 23 22 -0.06221018
15 5 E 1 3 7.666667 6.1101009 9.0 7.666667 5.9304 1 13 12 -0.20782656
16 6 F 1 3 3.666667 0.5773503 4.0 3.666667 0.0000 3 4 1 -0.38490018
17 7 G 1 1 3.000000 NA 3.0 3.000000 0.0000 3 3 0 NA
kurtosis se
11 -2.333333 19.5021366
12 -1.756576 8.6842770
13 -2.750000 1.0000000
14 -1.878463 4.4976846
15 -2.333333 3.5276684
16 -2.333333 0.3333333
17 NA NA
尝试使用聚合函数
aggregate(numbers,list(groups),summary)
Group.1 x.Min. x.1st Qu. x.Median x.Mean x.3rd Qu. x.Max.
1 A 6.000 6.500 7.000 26.000 36.000 65.000
2 B 1.000 1.750 5.500 12.500 16.250 38.000
3 C 1.000 1.500 2.000 2.000 2.500 3.000
4 D 1.000 9.250 12.500 12.250 15.500 23.000
5 E 1.000 5.000 9.000 7.667 11.000 13.000
6 F 3.000 3.500 4.000 3.667 4.000 4.000
7 G 3.000 3.000 3.000 3.000 3.000 3.000
数据在箱线图函数中。如果将其保存为一个对象,它将包含矩阵中的所有统计信息。
bp <- boxplot(numbers~groups)
bp$stats
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 6.0 1.0 1 1.0 1 3.0 3
[2,] 6.5 1.5 1 6.5 5 3.5 3
[3,] 7.0 5.5 2 12.5 9 4.0 3
[4,] 36.0 23.5 3 18.0 11 4.0 3
[5,] 65.0 38.0 3 23.0 13 4.0 3
在箱线图的帮助下,您可以看到它包含一个组件列表,其中一个组件包含您需要的信息。
stats a matrix, each column contains the extreme of the lower whisker, the lower hinge, the median, the upper hinge and the extreme of the upper whisker for one group/plot. If all the inputs have the same class attribute, so will this component.
函数 fivenum
计算了相同的统计数据