我们看到这些查询之间存在巨大差异.
慢查询
SELECT MIN(col) AS Firstdate, MAX(col) AS Lastdate
FROM table WHERE status = 'OK' AND fk = 4193
Run Code Online (Sandbox Code Playgroud)
表'表'.扫描计数2,逻辑读取2458969,物理读取0,预读取读取0,lob逻辑读取0,lob物理读取0,lob预读读取0.
SQL Server执行时间:CPU时间= 1966 ms,已用时间= 1955 ms.
快速查询
SELECT count(*), MIN(col) AS Firstdate, MAX(col) AS Lastdate
FROM table WHERE status = 'OK' AND fk = 4193
Run Code Online (Sandbox Code Playgroud)
表'表'.扫描计数1,逻辑读取5803,物理读取0,预读取读取0,lob逻辑读取0,lob物理读取0,lob预读读取0.
SQL Server执行时间:CPU时间= 0 ms,已用时间= 9 ms.
题
查询之间巨大的性能差异之间的原因是什么?
更新 基础上给出意见的问题小更新:
执行顺序或重复执行不会改变性能.没有使用额外的参数,并且(测试)数据库在执行期间没有执行任何其他操作.
慢查询
|--Nested Loops(Inner Join)
|--Stream Aggregate(DEFINE:([Expr1003]=MIN([DBTest].[dbo].[table].[startdate])))
| |--Top(TOP EXPRESSION:((1)))
| |--Nested Loops(Inner Join, OUTER REFERENCES:([DBTest].[dbo].[table].[id], [Expr1008]) WITH ORDERED PREFETCH)
| |--Index …Run Code Online (Sandbox Code Playgroud) 我正在用corrplot绘制相关图.我想绘制相关系数:
require(corrplot)
test <- matrix(data = rnorm(400), nrow=20, ncol=20)
corrplot(cor(test), method = "color", addCoef.col="grey", order = "AOE")
Run Code Online (Sandbox Code Playgroud)
但它们在情节中太大了:

有没有办法让coefficent的字体更小?我一直在看,?corrplot但只有参数可以更改图例和轴字体大小(cl.cex和tl.cex).pch.cex也不起作用.
我正在尝试计算几个值的相关矩阵.这些值包括一些'nan'值.我正在使用numpy.corrcoef.对于输出相关矩阵的元素(i,j),我希望使用对于变量i和变量j都存在的所有值来计算相关性.
这就是我现在拥有的:
In[20]: df_counties = pd.read_sql("SELECT Median_Age, Rpercent_2008, overall_LS, population_density FROM countyVotingSM2", db_eng)
In[21]: np.corrcoef(df_counties, rowvar = False)
Out[21]:
array([[ 1. , nan, nan, -0.10998411],
[ nan, nan, nan, nan],
[ nan, nan, nan, nan],
[-0.10998411, nan, nan, 1. ]])
Run Code Online (Sandbox Code Playgroud)
太多的南瓜:(
我有两组温度日期,它们以常规(但不同)的时间间隔读数.我试图获得这两组数据之间的相关性.
我一直在玩熊猫试图这样做.我创造了两个时间序列,并且正在使用TimeSeriesA.corr(TimeSeriesB).但是,如果2个timeSeries中的时间不完全匹配(它们通常是秒数),我会得到Null作为答案.如果可以,我可以得到一个不错的答案:
a)在每个TimeSeries中插入/填充缺失的时间(我知道这在Pandas中是可能的,我只是不知道该怎么做)
b)从python datetime对象中剥离秒数(将秒设置为00,不更改分钟).我会失去一定程度的准确性,但不是很大
c)在Pandas中使用其他东西来获得两个timeSeries之间的相关性
d)在python中使用一些东西来获得两个浮点数列表之间的相关性,每个浮点数都有一个相应的日期时间对象,考虑到时间.
有人有什么建议吗?
我的数据包含每个条件(x和y)的54个样本.我通过以下方式计算了相关性:
> dat <- read.table("http://dpaste.com/1064360/plain/",header=TRUE)
> cor(dat$x,dat$y)
[1] 0.2870823
Run Code Online (Sandbox Code Playgroud)
是否存在一种本地方法来生成上述R的cor()函数中的相关性SE和来自T检验的p值?
如本网站所述(第14.6页)
当在具有大量变量的时间序列上运行cor()时,我得到一个表,其中每个变量都有一行和一列,显示它们之间的相关性.
如何将此表视为从最相关到最不相关的列表(消除所有NA结果和映射回自身的结果(即A与A的相关性)).我还想将反(负)结果计为绝对值,但仍将其显示为负值.
所以期望的输出将是这样的:
A,B,0.98
A,C,0.9
C,R,-0.8
T,Z,0.5
Run Code Online (Sandbox Code Playgroud) 我有一个2396x34 double matrix名字,y其中每一行(2396)代表一个由34个连续时间段组成的单独情况.
我还有一个numeric[34]名称x代表34个连续时间段的单一情况.
目前我正在计算每一行之间的相关性y,x如下所示:
crs[,2] <- cor(t(y),x)
我现在需要的是cor用加权相关替换上述语句中的函数.权重向量xy.wt是34个元素长,因此可以为34个连续时间段中的每一个分配不同的权重.
我找到了这个Weighted Covariance Matrix函数,cov.wt并认为如果我第scale一个数据它应该像cor函数一样工作.实际上,您也可以为函数指定返回相关矩阵.不幸的是,似乎我不能以相同的方式使用它,因为我无法单独提供我的两个变量(x和y).
有没有人知道我可以在不牺牲太多速度的情况下以我描述的方式获得加权相关的方法?
编辑:也许某些数学函数可以应用于函数y之前,cor以获得我正在寻找的相同结果.也许如果我将每个元素乘以xy.wt/sum(xy.wt)?
编辑#2我corr在boot包中找到了另一个功能.
corr(d, w = rep(1, nrow(d))/nrow(d))
d
A matrix with two columns corresponding to the two variables whose correlation we wish to calculate.
w …Run Code Online (Sandbox Code Playgroud) 我有两个时间序列,我用它ccf来找到它们之间的互相关.
ccf(ts1, ts2)列出所有时间滞后的互相关.如何在不手动查看数据的情况下找到导致最大相关性的滞后?
我在Shiny应用程序中有一些代码,可以生成下面的第一个图表.如您所见,字体大小随相关系数的大小而变化.我想用ggpairs(GGally)或ggplot2生成类似的东西.下面的第二张图片是使用以下代码生成的:
library(GGally)
ggpairs(df,
upper = list(params = c(size = 10)),
lower = list(continuous = "smooth", params = c(method = "loess", fill = "blue"))
)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,相关字体的大小可以使用大小进行调整,但是当我设置大小向量时,只使用第一个值.我还想删除'Corr:'并添加一个重要指标.使用颜色作为相关系数的符号也很不错.在较低的,method并fill没有链接smooth.关于如何让第二个绘图捕获第一个更多功能的任何建议都会很棒.
df <- structure(list(y1 = c(8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24,
4.26, 10.84, 4.82, 5.68), x1 = c(10L, 8L, 13L, 9L, 11L, 14L,
6L, 4L, 12L, 7L, 5L), y2 = c(9.14, 8.14, 8.74, 8.77, 9.26, 8.1,
6.13, 3.1, 9.13, 7.26, 4.74), x2 = c(10L, 8L, 13L, 9L, …Run Code Online (Sandbox Code Playgroud) 我有一个包含100个变量和3000个观测值的大数据集.我想检测那些高度相关或冗余的变量(列),从而删除数据帧中的维数.我试过这个,但它只计算一列与其他列之间的相关性; 我总是收到一条错误消息
for(i in 1:ncol(predicteurs)){
correlations <- cor(predicteurs[,i],predicteurs[,2])
names(correlations[which.max(abs(correlations))])
}
Warning messages:
1: In cor(predicteurs[, i], predicteurs[, 2]) :
the standard deviation is zero
2: In cor(predicteurs[, i], predicteurs[, 2]) :
the standard deviation is zero
Run Code Online (Sandbox Code Playgroud)
谁能帮我?
correlation ×10
r ×7
pandas ×2
python ×2
statistics ×2
ggally ×1
ggplot2 ×1
numpy ×1
performance ×1
r-corrplot ×1
sql ×1
sql-server ×1
time-series ×1
weighted ×1