小编HCA*_*CAI的帖子

通过聚类点matlab着色的等高线图

我有两个配对值的向量

size(X)=1e4 x 1; size(Y)=1e4 x 1
Run Code Online (Sandbox Code Playgroud)

是否有可能contour plot通过最高密度的点来绘制某种轮廓?即最高聚类=红色,然后在其他地方渐变颜色?

如果您需要更多说明,请询问.问候,

示例数据:

X=[53 58 62 56 72 63 65 57 52 56 52 70 54 54 59 58 71 66 55 56];  
Y=[40 33 35 37 33 36 32 36 35 33 41 35 37 31 40 41 34 33 34 37 ];
 scatter(X,Y,'ro');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

谢谢大家的帮助.还记得我们可以使用hist3:

x={0:0.38/4:0.38}; % # How many bins in x direction
y={0:0.65/7:0.65}; % # How many bins in y direction

ncount=hist3([X Y],'Edges',[x y]);
pcolor(ncount./sum(sum(ncount))); …
Run Code Online (Sandbox Code Playgroud)

matlab

6
推荐指数
1
解决办法
1万
查看次数

估计马尔可夫转移矩阵的置信区间

我有一系列n = 400个不同长度的序列,包含字母ACGTE.例如,A之后有C的概率是:

在此输入图像描述

因此,可以从经验序列集合中计算出来

在此输入图像描述

假设: 在此输入图像描述

然后我得到一个转换矩阵:

在此输入图像描述

但是我有兴趣计算Phat的置信区间,我对如何进行它的任何想法?

statistics matlab markov-chains confidence-interval

5
推荐指数
1
解决办法
2365
查看次数

如何在稀疏点之间插入数据以在R&plot中绘制轮廓图

我想根据第一张图中以下彩色点的浓度数据在xy平面上创建等高线图.我在每个高度都没有角点,所以我需要将浓度外推到xy平面的边缘(xlim = c(0,335),ylim = c(0,426)).

在此输入图像描述 点的html文件可以在这里找到:https://leeds365-my.sharepoint.com/:u:/ r/personal /cenmk_leeds_ac_uk/Files/Files/HECOIRA /Chamber%20CO2%20Experiments/Sensors.html?csf = 1&E = HiX8fF

dput(df)
structure(list(Sensor = structure(c(11L, 12L, 13L, 14L, 15L, 
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 
29L, 1L, 3L, 4L, 5L, 6L, 8L, 30L, 31L, 32L, 33L, 34L, 35L), .Label = c("N1", 
"N2", "N3", "N4", "N5", "N6", "N7", "N8", "N9", "Control", "A1", 
"A10", "A11", "A12", "A13", "A14", "A15", "A16", "A17", "A18", 
"A19", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", …
Run Code Online (Sandbox Code Playgroud)

r contour extrapolation plotly r-plotly

5
推荐指数
2
解决办法
523
查看次数

如何对group_by变量进行分组,并将时间从13:24:00开始精确地划分为10s的bin,并求平均值group_by变量的平均值

我有30个传感器的CO2测量数据,这些传感器不是同时测量,也不是完全在同一时间启动。我想尽可能地使它们对齐,因此我认为采用10s平均值可能是一个很好的解决方案。

在上一个问题中:对多个变量进行分组并汇总dplyr,我将每个传感器的时间减少了10s,并平均了每个传感器在这10s内的读数。听起来不错,但是我已经意识到,以下代码从每个传感器开始的时间开始就减少了时间,因此它们仍未对齐。如何对齐它们?

require(tidyverse)
require(lubridate)  
  df %>%
        group_by(Sensor, BinnedTime = cut(DeviceTime, breaks="10 sec")) %>%
            mutate(Concentration = mean(calCO2)) %>%
        ungroup()

    head(df)
# A tibble: 6 x 7
# Groups: BinnedTime [1]

  Sensor Date       Time   calCO2 DeviceTime          cuts   BinnedTime         
  <fctr> <date>     <time>  <dbl> <dttm>              <fctr> <chr>              
1 N1     2019-02-12 13:24     400 2019-02-12 13:24:02 (0,10] 2019-02-12 13:24:02
2 N1     2019-02-12 13:24     400 2019-02-12 13:24:02 (0,10] 2019-02-12 13:24:02
3 N1     2019-02-12 13:24     400 2019-02-12 13:24:03 (0,10] 2019-02-12 13:24:03
4 N2     2019-02-12 13:24     400 …
Run Code Online (Sandbox Code Playgroud)

time r dplyr

5
推荐指数
1
解决办法
61
查看次数

R:如何将 300 个 1GB .rds 文件合并为 1 个大 rds 文件而不将它们读入内存?

我有 300 多个 .rds 文件,每个文件都具有相同的列名,并希望将它们绑定到一个压缩的 .rds 文件中,我可以通过 sftp 传输该文件。

有没有办法在不将它们读入内存的情况下有效地做到这一点?

目前我正在使用以下代码,但这会在写入文件之前最大化内存。任何想法都非常感谢。

library(tidyverse)
library(data.table)

df <- list.files(pattern = ".rds") %>%
         map(readRDS) %>% 
         data.table::rbindlist()

    saveRDS(df,"df.rds")
Run Code Online (Sandbox Code Playgroud)

最终我一一阅读并习惯于read::write_csv("name.csv",append=TRUE)将它们附加到磁盘上。之后我使用 {disk.frame} 或 SQL 数据库来处理数据。

r

5
推荐指数
0
解决办法
396
查看次数

如何在不等频率的时间序列之间进行相关

我每分钟测量室温36分钟,皮肤温度每秒32次测量同一时间段.我有35个重复实验标记(ID).我需要能够查看相关性,但样本的大小不等.

数据:

我有一个data.frame df1,每分钟测量室温,另一个data.frame df2,皮肤温度测量每秒32次.我有36分钟的数据.此外,还有另一个名为ID的列显示实验编号(1-35),但我不知道如何在以下示例数据中表示这一点.所以从技术上讲,我正在寻找基于ID的每个SkinTemp与RoomTemp的相关性.

    df1 <- data.frame(
        roomTemp = rnorm(1*36),
    )

   df2 <- data.frame(
        skinTemp = rnorm(32*60*36),
        )
Run Code Online (Sandbox Code Playgroud)

我试过做:

Data <- data.frame(
  Y=c(df1,df2),
  Variable =factor(rep(c("RoomTemp", "SkinTemp"), times=c(length(df1), length(df2))))
)

cor(Data$Y~Data$Variable)
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

r time-series

4
推荐指数
1
解决办法
1344
查看次数

计算向量中的值小于另一个向量中的每个元素

我有两个向量rd我想知道的次数r<d(i)在那里i=1:length(d).

r=rand(1,1E7);
d=linspace(0,1,10);
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下内容,但它不是很优雅:

for i=1:length(d)
sum(r<d(i))
end
Run Code Online (Sandbox Code Playgroud)

这是R中的一个例子,但我不确定这对matlab是否有效: 找到一个向量中小于另一个向量中元素的元素数

arrays matlab vector

4
推荐指数
1
解决办法
64
查看次数

Rcolorbrewer 和 ggplot2 R:geom_hex 的颜色图

我想在 R 中制作下面这种类型的图,我认为它是边缘直方图和 geom_hex 对象的组合。这最初是一个 matplotlib seaborn 图。

我无法让它与 RColorbrewer 交谈。任何想法为什么?

在此处输入图片说明

到目前为止,我有:

require(ggplot2)
require(RColorBrewer)
require(ggExtra)
bl<-data.frame(beta=rnorm(100),lambda=rnorm(100))

p<-ggplot(bl,aes(x=beta,y=lambda))+
  stat_bin_hex()+
  #scale_fill_gradient(palette = "Greens") Neither of these work
  #scale_fill_continuous(palette = "Greens")+
  scale_fill_brewer()+
  theme_classic()


  ggExtra::ggMarginal(p, type = "histogram")
Run Code Online (Sandbox Code Playgroud)

原始代码:

x, y = np.random.multivariate_normal(mean, cov, 1000).T
with sns.axes_style("white"):
Run Code Online (Sandbox Code Playgroud)

https://seaborn.pydata.org/tutorial/distributions.html

sns.jointplot(x=x, y=y, kind="hex", color="greens");
Run Code Online (Sandbox Code Playgroud)

r matplotlib ggplot2 seaborn

3
推荐指数
1
解决办法
584
查看次数

R:递归添加行

j 个表面接触后手部细菌的浓度可以由以下递归关系决定:

H[j+1]=H[j]+T[j]*(S[j]-H[j])
Run Code Online (Sandbox Code Playgroud)

S手触摸的表面浓度在哪里(为了方便,假设是随机的)。T是每个接触的传输效率。我想计算最终的手部浓度(起始浓度为零)。

我有一个数据框,它有一个表面接触向量和每个表面的传输效率。我有两个组a&b并且在每个组中假设我将依次触摸每个组1:length(df)

 df <- data.frame(S = runif(10)*100, T = runif(10),g=rep(c("a","b"),each=5))
Run Code Online (Sandbox Code Playgroud)

我想在可能的情况下计算H按组计算的累积总和dplyr

一个特例:

如果g = "a", 的起始值H0。如果g=="b"那么的起始值H是从何时开始的最后一个值g=="a"

r accumulate dplyr rolling-computation purrr

3
推荐指数
2
解决办法
167
查看次数

使用 deSolve 编译的 C ODE 给出与 R 不同的结果

我有一个 ODE,我想使用从 R 的 deSolve 包调用的编译 C 代码来求解它。有问题的 ODE 是一个指数衰减模型 (y'=-d* exp(g* time)*y):\n但是从 R 中运行编译后的代码会为 R 的本机 deSolve 提供不同的结果。就像它们被翻转了 180\xc2\xba 一样。这是怎么回事?

\n

C代码实现

\n
/* file testODE.c */\n#include <R.h>\nstatic double parms[4];\n#define C parms[0] /* left here on purpose */\n#define d parms[1]\n#define g parms[2]\n\n/* initializer  */\nvoid initmod(void (* odeparms)(int *, double *))\n{\n  int N=3;\n  odeparms(&N, parms);\n}\n\n/* Derivatives and 1 output variable */\nvoid derivs (int *neq, double t, double *y, double *ydot,\n             double *yout, int *ip)\n{\n  // if (ip[0] <1) error("nout should …
Run Code Online (Sandbox Code Playgroud)

c r desolve

3
推荐指数
1
解决办法
184
查看次数