将数据子集获取到 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), ]
从数据集中抽样二十行
我正在从 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), ]
从数据集中抽样二十行