小编Cla*_*dia的帖子

R无法融合data.frame

我有以下data.frame,称为tableMS:

     X   Y        Z        T
1  375 855 455.7259 3777.856
2  395 969 347.8306   2506.7
3  449 811 309.9512 519.8513
4  451 774  278.291 717.8705
5  453 774  278.291 717.8705
6  455 774  278.291 717.8705
7  521 697  376.734 693.8541
8  529 855 455.7259 3777.856
9  531 855 455.7259 3777.856
10 609 774  278.291 717.8705
Run Code Online (Sandbox Code Playgroud)

当我尝试使用函数melt()时

MeltTable <- melt(tableMS,id=c("X","Y"))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error in match.names(clabs, names(xi)) : 
   names do not match previous names
Run Code Online (Sandbox Code Playgroud)

我很难理解会发生什么,任何想法?

编辑:我生成了tableMS作为更大表的一部分,str(tableMS)的输出是:

'data.frame':   10 obs. of  4 variables:
$ …
Run Code Online (Sandbox Code Playgroud)

r melt

12
推荐指数
2
解决办法
2万
查看次数

R check不喜欢std:cout(C++)

我正在尝试向包含C++代码的CRAN提交一个包(我对c ++没有任何线索,cpp文件是由其他人编写的).

R检查抱怨'std :: cout'(C++)编译代码不应该调用可能终止R的入口点,也不应该写入stdout/stderr而不是写入控制台,也不应该写入C RNG

我在代码中找到了以下命令:

 integrate_const(stepper_type( default_error_checker< double >( abs_error , rel_error ) ),
                mDifEqn,
                x,
                0.0,
                (precipitationLength * timeStep), 
                timeStep,
                streaming_observer(std::cout) ); 
Run Code Online (Sandbox Code Playgroud)

我猜R(CRAN)期待别的东西而不是std :: cout ...但是什么?

c++ r

7
推荐指数
1
解决办法
1350
查看次数

如何解决具有内部阈值的ODE?

我有以下功能包含一些颂歌:

myfunction <- function(t, state, parameters) {
    with(as.list(c(state, parameters)),{
        if (X>20) {           # this is an internal threshold!
          Y <- 35000
          dY <- 0
        }else{
          dY <- b * (Y-Z) 
        }
        dX <- a*X^6 + Y*Z
        dZ <- -X*Y + c*Y - Z
        # return the rate of change
        list(c(dX, dY, dZ),Y,dY)
    })
}
Run Code Online (Sandbox Code Playgroud)

以下是一些结果:

library(deSolve)
parameters <- c(a = -8/3, b = -10, c = 28)
state <- c(X = 1, Y = 1, Z = 1)
times <- …
Run Code Online (Sandbox Code Playgroud)

r ode threshold

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

R align.time/aggregate中的错误?

我有一个时间序列x:

dput(x)
structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.8, 0, 0, 
0, 0, 0, 0, 0, 0), index = structure(c(1193524740, 1193525340, 
1193525940, 1193526540, 1193527140, 1193527740, 1193528340, 1193528940, 
1193529540, 1193530140, 1193530740, 1193531340, 1193531940, 1193532540, 
1193533140, 1193533740, 1193534340, 1193534940, 1193535540, 1193536140, 
1193536740, 1193537340), class = c("POSIXct", "POSIXt")), class = "zoo")
Run Code Online (Sandbox Code Playgroud)

我聚合到1小时

as.xts(aggregate(x, align.time(index(x), 60*60))) 
                    [,1]
2007-10-28 00:00:00  0.0
2007-10-28 01:00:00  0.0
2007-10-28 01:00:00 28.8
2007-10-28 02:00:00  0.0
2007-10-28 03:00:00  0.0
Run Code Online (Sandbox Code Playgroud)

如你所见,我得到"2007-10-28 01:00:00"重复.

我想知道这是一个错误还是我做错了什么?

aggregate r time-series xts

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

计算大数据的分位数

我有大约 300 个文件,每个文件包含 1000 个时间序列实现(每个文件约 76 MB)。

我想计算全套 300000 个实现中每个时间步的分位数 (0.05、0.50、0.95)。

我无法将 1 个文件中的实现合并在一起,因为它会变得太大。

做到这一点最有效的方法是什么?

每个矩阵都是通过运行模型生成的,但是这里是包含随机数的样本:

x <- matrix(rexp(10000000, rate=.1), nrow=1000)
Run Code Online (Sandbox Code Playgroud)

r large-data quantile

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

标签 统计

r ×5

aggregate ×1

c++ ×1

large-data ×1

melt ×1

ode ×1

quantile ×1

threshold ×1

time-series ×1

xts ×1