小编Joh*_*ohn的帖子

如何在Julia(版本0.3)DataFrame中更改多个列名?

例如,假设您使用20列创建一个Julia DataFrame:

y=convert(DataFrame, randn(10,20))
Run Code Online (Sandbox Code Playgroud)

如何将列名转换为(:x1 ... :x20)其他名称,(:col1, ..., :col20)例如,一次性?

julia

15
推荐指数
3
解决办法
9652
查看次数

递归地(或迭代地)用d3.js创建一个嵌套的html表?

我有一组嵌套的JSON结构,它们的深度各不相同,而且各处都没有相同的密钥集:

[
    {
        "name":"bob",
        "salary":10000,
        "friends":[
            {
                "name": "sarah",
                "salary":10000
            },
            {
                "name": "bill",
                "salary":5000
            }
        ]
    },
    {
        "name":"marge",
        "salary":10000,
        "friends":[
            {
                "name": "rhonda",
                "salary":10000
            },
            {
                "name": "mike",
                "salary":5000,
                "hobbies":[
                    {
                        "name":"surfing",
                        "frequency":10
                    },
                    {
                        "name":"surfing",
                        "frequency":15
                    }
                ]
            }
        ]
    },
    {
        "name":"joe",
        "salary":10000,
        "friends":[
            {
                "name": "harry",
                "salary":10000
            },
            {
                "name": "sally",
                "salary":5000
            }
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

我想使用D3将其渲染为嵌套的html表.例如,friends列将具有显示该行中引用的个人的朋友的姓名和工资的表.有时,这些表中的一个将具有另一级子表.

我想这样做的方法是递归创建表.我编写了一个python程序,它采用这样的JSON结构,并在表中呈现表,最简单的方法是递归执行.我在d3.js文档中看到有一个.each()你可以调用的东西,我相信我需要的东西,我需要一点点提升到那里(https://github.com/mbostock/d3/wiki/Selections# wiki-each).

那么在D3中有一个很好的方法吗?我找到了一个很好的例子,用于将2d数据矩阵呈现为表创建链接到csv文件的表.通过该教程,我能够将这个数据结构的最外层级别呈现为一个表格,但我仍然坚持如何根据需要递归进入各级别,因为现在它们只是在表格中显示为"对象"因为我不会将它们与正常的字符串和数字区别对待.

另外我发现这个问题/答案与我的问题类似,但我真的不太了解javascript,看看递归发生的位置和方式,并重新解决方案以满足我的需求:我如何处理数据是在D3中嵌套多个级别?.任何关于递归或迭代处理嵌套树(如D3中的JSON数据结构)的教程的建议或指针都将非常感激!

html javascript d3.js

12
推荐指数
1
解决办法
7291
查看次数

将Matlab转换为Octave是否有容器.地图相当于?

我试图将Maia包中的一些matlab代码转换为可与Octave一起使用的代码.我目前正陷入困境,因为其中一个文件有几个调用containers.Map,显然这些调用尚未在八度音程中实现.有没有人有任何想法可以轻松实现类似的功能,而无需在八度音程中完成大量的额外工作?谢谢大家的时间.

function [adj_direct contig_direct overlap names longest_path_direct...
          weigth_direct deltafiles deltafiles_ref ReferenceAlignment ...
          contig_ref overlap_ref name_hash_ref] = ...
          assembly_driver(assemblies,ref_genome,target_chromosome, ... 
                          deltafiles_ref,contig_ref, overlap_ref, ...
                          name_hash_ref, varargin)

% ASSEMBLY_DRIVER Combines contig sets into one assembled chromosome
%
% INPUT 
%   assemblies
%   ref_chromosome
%   Startnode_name
%   Endnode_name
%        OPTIONAL              DEFAULT
%       'z_weigths'            [.25 .25 .25 .25]
%       'clipping_thrs'        10
%       'ref_distance'         -10
%       'ref_quality'          1E-5
%       'max_chromosome_dist'  100
%       'quit_treshold'        15
%       'tabu_time'            3
%       'minimum_improvement'  -inf …
Run Code Online (Sandbox Code Playgroud)

matlab hashtable hashmap octave

11
推荐指数
1
解决办法
6386
查看次数

C++模板代码导致在显然未正确分配的对象上调用delete时出错

我在教自己c ++模板.我写了下面的代码,我得到一个奇怪的错误,关于一个未被分配的指针被释放.我猜测,东西在我的类模板的构造是不实际调用newint,当我问一个<int>类型这一类的.代码正在由CodeRunnermac 自动编译和运行,我设置为使用clang++编译器来处理c++文件.

#include <vector>
#include <iostream>

template <typename T>
class HeapVal
{
    public:
        HeapVal(T val) {ptr = new T(val);}
        ~HeapVal() {delete ptr;}
        T get() {return *ptr;}
    private:
        T* ptr;
};

int main(){
  std::vector< ::HeapVal<int> > vec;
  for(int i = 0; i < 1000; ++i){
    ::HeapVal<int> h(i);
    vec.push_back(h);
  }
  for(int i = 0; i < 1000; ++i){
    std::cout << vec[i].get() << std::endl;
  }
  return( 0 );
}
Run Code Online (Sandbox Code Playgroud)

该代码在编译或执行期间导致以下错误(在我看来就像运行时类错误). …

c++ templates compiler-errors

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

C ++段故障问题

我正在使用一些外部C库的C ++程序上工作。据我所知,这不是问题的原因,而问题出在我的C ++代码上。该程序运行良好,没有错误,也没有测试数据集上的任何内容,但是经过几乎整个完整数据集后,出现了段错误。运行GDB给了我这个段错误:

(gdb)运行-speciesMain = allMis1 -speciesOther = anoCar2 -speciesMain = allMis1 -speciesOther = anoCar2 /hive/data/genomes/allMis1/bed/lastz.anoCar2/mafRBestNet/*.maf.gz
启动程序:/ cluster / home / jstjohn / bin / mafPairwiseSyntenyDecay -speciesMain = allMis1 -speciesOther = anoCar2 -speciesMain = allMis1 -speciesOther = anoCar2 / hive / data / genome
s / allMis1 / bed / lastz.anoCar2 / mafRBestNet / *。maf.gz
从子进程3718中叉后拆卸。

程序收到信号SIGSEGV,分段故障。
来自/usr/lib64/libstdc++.so.6的__gnu_cxx :: __ exchange_and_add(int volatile *,int)()中的0x0000003009cb7672
(gdb)向上
/usr/lib64/libstdc++.so.6中的std :: basic_string,std :: allocator> ::〜basic_string()()中的#1 0x0000003009c9db59
(gdb)向上
在mafPairwiseSyntenyDecay.cpp中的#2 0x00000000004051e7在PairAlnInfo :: ~~ PairAlnInfo(this = 0x7fffffffcd70,__in_chrg =)中 …

c++ memory-management segmentation-fault

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