- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习多元线性回归的第一门类(class),所以我仍然是 R 的初学者。我们最近学习了一些关于水平和垂直获取二元散点图数据切片的知识。我想知道的是如何超越基本的散点图,并利用按切片有条件地对数据进行分组来检查模式。
例如,我正在处理来自一家银行的高辛烷值数据,我们正在对员工的当前工资进行回归 csalary
到他们的起薪 bsalary
.这是我的数据框的样子。
> str(data)
'data.frame': 474 obs. of 10 variables:
$ id : num 628 630 632 633 635 637 641 649 650 652 ...
$ bsalary: num 8400 24000 10200 8700 17400 ...
$ gender : Factor w/ 2 levels "Male","Female": 1 1 1 1 1 1 1 1 1 1 ...
$ time : num 81 73 83 93 83 80 79 67 96 77 ...
$ age : num 28.5 40.3 31.1 31.2 41.9 ...
$ csalary: num 16080 41400 21960 19200 28350 ...
$ educlvl: num 16 16 15 16 19 18 15 15 15 12 ...
$ work : num 0.25 12.5 4.08 1.83 13 ...
$ jobcat : Factor w/ 7 levels "Clerical","Office Trainee",..: 4 5 5 4 5 4 1 1 1 3 ...
$ ethnic : Factor w/ 2 levels "White","Non-White": 1 1 1 1 1 1 1 1 1 1 ...
探究bsalary
的关系和 csalary
我使用 lattice
的一些功能创建了一个散点图图书馆。我沿着 bsalary
以 5000 美元的间隔任意绘制了垂直线。 .
library (lattice)
# Constructing vertical "slices" of our csalary ~ bsalary data
# First we define a vector with our slice points, in this case
# $5,000 bsalary increments
bslices = seq (from = 5000, to = 30000, by = 5000)
length (bslices)
xyplot (csalary ~ bsalary,
main = "Current Bank Employee Salary as Predicted by Beginning Salary",
xlab = "Beginning Salary ($USD)",
ylab = "Current Salary ($USD)",
panel = function(...){
panel.abline(v = bslices, col="red", lwd=2);
panel.xyplot(...);
}
)
上面的代码让我明白了这一点。
(来源:skitch.com)
这太棒了。但我觉得应该有一种简单的方法可以从我的数据中生成将切片数据分组为箱线图的图表:
(来源:skitch.com)
或堆叠点散点图,再次按切片分组,如下所示:
(来源:skitch.com)
最终,我的问题是如何将原始散点图数据转换为条件分组数据。我觉得lattice 有一些简单的、潜在的特性(甚至不需要它的更简单的绘图命令)可以让我开始切片我的数据以探索模式。
在此先感谢您的帮助!
最佳答案
您可以使用 cut() 函数将数据分成有序类别。然后 ggplot2 的 qplot 函数可以很容易地创建你想要的图。
library(ggplot2)
#fake data
csalary <- rnorm(100,,100)
bsalary <- csalary +rnorm(100,,10)
#Regular Scatter Plot
qplot(bsalary,csalary)
#Stacked dot plot
qplot(cut(bsalary,10),csalary)
#box-plot
qplot(cut(bsalary,10),csalary,geom="boxplot")
关于r - 如何通过获取散点图切片来生成数据的条件分布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308991/
我是一名优秀的程序员,十分优秀!