将数据子集获取到 qplot

getting a subset of data to qplot

我正在从 MySQL 数据库中获取大量数据。大约150mb。

然后我绘制了一些字段:

> qplot(myValues$average_submitted_chrg_amt, myValues$average_Medicare_payment_amt, data=myValues, color=nppes_provider_country,xlim=c(0,10000),ylim=c(0,4000),alpha=0.01)

为了酷一点,我包括了图表:

我想通过从 SQL QUERY 中随机抽取行来重新绘制图表。

有没有办法绘制 myValues 的子集?

如果您想要来自 MySQL 查询的随机子集,这里有两种方法。要获得大约 10% 的样本,请执行以下操作:

select t.*
from (<your query here>) t
where rand() < 0.1;

要获得恰好 n 行的随机样本,请执行:

select t.*
from (<your query here>) t
order by rand()
limit <n>;

第一种方法更快。

您可以使用 sample 获取要包含在您的子集中的行,并使用 [ 从您的数据中 subset/extract 这些行。

这将对从 1 到 10 的 5 个数字进行无放回采样

sample(10, 5)
#[1]  5  7  8  3 10

如果我们再次采样,我们可能会得到不同的样本

sample(10, 5)
#[1] 10  2  6  1  9

为了使采样可重现,我们可以设置一个种子(参见 ?set.seed

set.seed(1) ; sample(10, 5)
# [1] 3 4 5 7 2
set.seed(1) ; sample(10, 5)
# [1] 3 4 5 7 2

您的情节 - 使用示例 mtcars 数据集。您使用 sample 对行

进行采样
library(ggplot2)

data(mtcars)

set.seed(1)
qplot(mpg, wt, data=mtcars[sample(nrow(mtcars), 20), ], geom="point")

mtcars[sample(nrow(mtcars), 20), ] 从数据集中抽样二十行