小编Hug*_*ins的帖子

将列表附加到列表中

我知道这是一个真正的noob问题,但是如何将数据框列表附加到数据框以形成新列表,所有data.frames在列表中的同一级别?

我的一些尝试:

> df <- data.frame(time=1:5)
> df
  time
1    1
2    2
3    3
4    4
5    5
> innerlist <- list(df,df,df)
> innerlist
[[1]]
  time
1    1
2    2
3    3
4    4
5    5

[[2]]
  time
1    1
2    2
3    3
4    4
5    5

[[3]]
  time
1    1
2    2
3    3
4    4
5    5

> outerlist <- list(df,innerlist)
> outerlist
[[1]]
  time
1    1
2    2
3    3
4    4
5    5

[[2]] …
Run Code Online (Sandbox Code Playgroud)

r

7
推荐指数
2
解决办法
573
查看次数

为什么R multicore只使用一个核心?

可能重复:
R限制中的并行处理

我在R多核中编写了一些代码,我在24核机器上运行它.实际上只有12个核心,但它们是超线程的,所以看起来有24个.

这有点奇怪:所有线程都运行在同一个核心上!因此,他们每个人只使用少量的cpu,而不是每个都运行在单个核心上,并且咀嚼所有可用的核心.

为简单起见,我只运行4个线程:

mclapply( 1:30, function(size) {
    # time consuming stuff that is cpu bound (think "forecast.ets" et al)
}, mc.cores = 4, mc.preschedule = F )
Run Code Online (Sandbox Code Playgroud)

在运行此之前,已经有一个R进程在一个核心上运行,使用该核心容量的100%:

在此输入图像描述

接下来,我启动"多核过程",另外4个线程争夺同一个核心!:

在此输入图像描述

......所以,当他们每个人能够获得100%的核心时,他们每人获得一个核心的12%,或大约1%的可用处理能力.此外,另一个R进程现在只获得50%的核心.

操作系统是64位的Ubuntu 12.04.硬件是英特尔.R是版本2.15.2"捣蛋"

思考?(我知道我可以使用降雪,但我有很多变数,而且我真的不想拥有sfExport所有这些!)

编辑:哦,我想某处有一些全局锁定?但是,为什么两个完全独立的R进程之间会发生冲突?我可以并行运行两个R进程,每个进程占用核心CPU的100%.

编辑2:感谢Dirk的指针,我重建了openblas,现在看起来更健康了!:

在此输入图像描述

multicore r

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

如何解决scala微风中的矩阵线性系统?

如何解决scala微风中的矩阵线性系统?即,我有Ax = b,其中A是矩阵(通常是正定),x和b是向量.

我可以看到有一个cholesky分解可用,但我似乎找不到解算器?(如果是matlab我可以做x = b\A.如果它是scipy我可以做x = A.solve(b))

scala matrix linear-algebra scalala

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

如何使'head'自动应用于输出?

我有一堆大型数据帧,所以每次我想显示它们时,我都要使用head:

head( blahblah(somedata) )
Run Code Online (Sandbox Code Playgroud)

在最初的几百次之后,打字头一直变老,所以如果可能的话,我想要一个简单的方法来做到这一点.与java相比,R的一个很酷的事情就是这样的事情通常很容易,如果你知道秘密咒语.

我在选项中搜索,发现max.print,几乎可以工作,除了现在有时间延迟.

head( blahblah(somedata) )
Run Code Online (Sandbox Code Playgroud)

....是瞬间的(在我的感知范围内)

options(max.print=100)
blahblah(somedata)
Run Code Online (Sandbox Code Playgroud)

....大约需要3秒钟,比打字要长 head

head打印大型数据结构时是否有某种方法可以自动应用?

一段代码,它重现了这种行为:

long_dataset = data.frame(a = runif(10e5), 
                          b = runif(10e5), 
                          c = runif(10e5))
system.time(head(long_dataset))
options(max.print = 6)
system.time(print(long_dataset))
Run Code Online (Sandbox Code Playgroud)

r

6
推荐指数
2
解决办法
299
查看次数

带有 lwjgl 的任务栏图标?

我想为我在 Windows 7 上运行的 lwjgl 进程添加一个任务栏图标。

Display.setIcon 成功更改了窗口左上角的图标,但不在任务栏中。

做什么?

我的代码,类似于:

ArrayList<ByteBuffer> byteBuffers = new ArrayList<ByteBuffer>();
byteBuffers.add( ImageHelper.loadImageAsIconImage("stickmanicon32x32.png") );
byteBuffers.add( ImageHelper.loadImageAsIconImage("stickmanicon16x16.png") );
System.out.println( "taskbaricon result: " + Display.setIcon(byteBuffers.toArray(new ByteBuffer[]{})) );
Run Code Online (Sandbox Code Playgroud)

我也尝试添加 40x40 图像,但没有变化。

java windows taskbar lwjgl windows-7

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

回声状态网络?

我最近从几个人那里听说,回声状态网络适用于时间序列建模.所以我觉得值得一试.

http://en.wikipedia.org/wiki/Echo_state_network

它是一种循环网络,只学习输出层中的权重,其他权重随机化.

R中的库/包在多大程度上可用于创建回声状态网络?

(注意:有这样一个问题:R中的神经网络包可能是相关的,但它要求'递归'网络,而我正在寻找'循环'或'回声状态'网络).

r time-series neural-network

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

将图像添加到Jupyter笔记本中,可通过github在私有仓库中查看

我发现![](img/myimage.png)当存储库是私有的时,通过简单的例如嵌入在jupyter标记中的图像没有显示在github笔记本查看器中。

我尝试了一堆黑客攻击。

显然在4.xx中有将图像作为base64元数据嵌入的功能吗?但是我在自己的笔记本上看不到它。

image github jupyter

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

如何在 Hydra 中进行文件覆盖?

我有一个主配置文件,比方说config.yaml

num_layers: 4
embedding_size: 512
learning_rate: 0.2
max_steps: 200000
Run Code Online (Sandbox Code Playgroud)

我希望能够在命令行上使用另一个文件(例如 say )覆盖它,big_model.yaml我在概念上使用它,例如:

python my_script.py --override big_model.yaml
Run Code Online (Sandbox Code Playgroud)

可能big_model.yaml看起来像:

num_layers: 8
embedding_size: 1024
Run Code Online (Sandbox Code Playgroud)

我希望能够覆盖任意数量的此类文件,每个文件的优先级都高于前一个文件。假设我也有fast_learn.yaml

learning_rate: 2.0
Run Code Online (Sandbox Code Playgroud)

所以我想从概念上做一些类似的事情:

python my_script.py --override big_model.yaml --override fast_learn.yaml
Run Code Online (Sandbox Code Playgroud)

在九头蛇中做到这一点的最简单/最标准的方法是什么?(或者可能在 omegaconf 中?)

(请注意,我希望这些覆盖文件理想地只是标准 yaml 文件,理想情况下覆盖早期的 yaml 文件;尽管如果我必须使用覆盖 DSL 来编写,我可以这样做,如果这是最简单/最好的/最标准的方式)

fb-hydra omegaconf

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

R中的部分合并

在我结束-7之前,像r中的数据帧之间的两个匹配,让我说我已经阅读了以下页面:

实际上,最后一个与我想要的非常相似,但不一样,因为我的专栏不同

我有两个数据帧,比方说:

> d <- data.frame(year=c(2004,2004,2006),month = c(1,5,3), height = c(1000,2000,3000) )
> d
  year month height
1 2004     1   1000
2 2004     5   2000
3 2006     3   3000

> e <- data.frame(year=c(2004),month=c(5), height = c(9999))
> e
  year month height
1 2004     5   9999
Run Code Online (Sandbox Code Playgroud)

显然,真实数据比这长.

我想将e中的值合并到d中

尝试原始合并:

> merge(d,e)
[1] year   month  height
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)

好.所以添加"by":

> merge(d,e,by=c("year","month"))
  year month height.x height.y
1 2004     5     2000     9999
Run Code Online (Sandbox Code Playgroud)

好吧,它做了一个内连接,并删除了d中的所有原始数据.所以尝试左外连接:

> merge(d,e,by=c("year","month"),all.x …
Run Code Online (Sandbox Code Playgroud)

r

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

为什么reshape2熔化返回值= NA?

为什么reshape2 melt返回value= NA我吗?

它可以重塑,但不是reshape2:

这是一个示例数据文件:

"","station_id","year","month","day","h1","h2","h3","h4","h5","h6","h7","h8","h9","h10","h11","h12","h13","h14","h15","h16","h17","h18","h19","h20","h21","h22","h23","h24"
"1",1,2004,1,1,46,46,45,41,39,35,33,33,36,47,53,54,55,55,55,55,52,46,40,40,39,38,40,41
"2",1,2004,1,2,43,44,46,46,47,47,47,47,47,47,47,49,52,56,54,56,57,53,50,47,46,45,45,45
"3",1,2004,1,3,45,46,46,44,43,46,46,47,51,55,56,59,65,68,69,68,68,65,64,63,62,63,63,62
"4",1,2004,1,4,63,62,62,62,60,60,60,62,60,64,64,66,71,70,71,72,71,68,67,67,65,64,65,64
"5",1,2004,1,5,64,63,65,64,64,64,64,64,65,66,66,67,68,68,66,66,66,66,63,54,52,49,47,47
"6",1,2004,1,6,47,46,45,43,41,41,39,39,40,43,45,44,45,46,46,46,45,39,39,39,38,36,32,32
Run Code Online (Sandbox Code Playgroud)

让我们说它保存为/tmp/foo.csv,然后:

使用重塑:

$ R
...
Type 'q()' to quit R.

> library("reshape")
Loading required package: plyr

Attaching package: ‘reshape’

The following object(s) are masked from ‘package:plyr’:

    rename, round_any

> hlist <- NULL; for(z in 1:24) { hlist <- cbind(hlist, sprintf("h%d",z)) }
> 
> thh <- read.csv('/tmp/foo.csv')
> thm <- melt(thh,measure.vars=hlist,variable="hour")
> head(thm)
  station_id year month day hour value
1          1 2004     1 …
Run Code Online (Sandbox Code Playgroud)

r reshape2

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

OpenCL:更好地使用宏或函数?

在OpenCL中,这是C-99,我们有两个选项来创建类似于函数的东西:

  • 功能
  • [编辑:好吧,或使用模板语言,新选项3 :-)]

我听说过某处(在任何地方找不到任何官方引用,只是在stackoverflow上的某个地方看到它,一次),这些函数几乎总是在实践中内联,因此使用函数在性能方面是否正常?

但宏基本上保证内联宏.但容易受到错误的影响,例如,如果不在所有内容周围添加括号,而不是类型安全.

在实践中,哪有效?什么是最标准的?什么是最便携的?

我想我的要求是以下几种组合:

  • 尽可能快地
  • 注册压力尽可能小
  • 当与编译时常量一起使用时,理想情况下应保证优化 - 远离另一个常量
  • 易于维护......
  • 标准,不是太奇怪,因为我正在考虑将其用于开源项目,我希望其他人会为此做出贡献

opencl

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

如何找到R中两个小时之间的差异?

由于被问到"明显"问题而被降低风险的极大风险,如何找到R中两个小时之间的差异?

> ISOdate(2004,1,6) - ISOdate(2004,1,1)
Time difference of 5 days
> as.POSIXlt(ISOdate(2004,1,6) - ISOdate(2004,1,1))
Error in as.POSIXlt.default(ISOdate(2004, 1, 6) - ISOdate(2004, 1, 1)) : 
  do not know how to convert 'ISOdate(2004, 1, 6) - ISOdate(2004, 1, 1)' to class "POSIXlt"
 > (ISOdate(2004,1,6) - ISOdate(2004,1,1))$year
Error in (ISOdate(2004, 1, 6) - ISOdate(2004, 1, 1))$year : 
  $ operator is invalid for atomic vectors
> (ISOdate(2004,1,6) - ISOdate(2004,1,1))$mon
Error in (ISOdate(2004, 1, 6) - ISOdate(2004, 1, 1))$mon : 
  $ operator is invalid for …
Run Code Online (Sandbox Code Playgroud)

datetime r

2
推荐指数
1
解决办法
9863
查看次数

如何在lsf中启动多线程mpi进程?

我想用LSF提交一份工作:

  • 并行运行在4个节点上
  • 每个节点都有一个mpi进程
  • 每个进程有12个线程

在没有LSF的情况下,我只需在4个节点上启动mpi,例如:

mpirun -hosts host1,host2,host3,host4 -np 4 ./myprocess --numthreads = 12

但是,在LSF存在的情况下,我看不出怎么做?我确信这可能是一种非常标准的方法,但我对LSF来说还是个新手.我用Google搜索,但答案对我来说并不是很明显.我在LSF中发现了混合MPI/OpenMP,但它似乎并不完全相同,似乎一次只需要一台主机.

multithreading distributed-computing mpi openmp lsf

0
推荐指数
1
解决办法
4086
查看次数