小编pas*_*cal的帖子

分散的饼图

我正在尝试可视化软聚类.有许多点和少量的簇,每个点都有一定的概率属于每个簇.

目前,我正在为每个聚类覆盖散点图,"o"标记的大小随概率而变化.这样可以轻松识别最可能的群集,但不会超出此范围.

我想绘制一个饼图的散点图,即每个数据点的一个小饼图,显示这些概率.这可能在Matlab中吗?我还没有找到一种方法来绘制馅饼作为标记或在一个图中的任意位置放置多个饼图...

matlab plot scatter-plot matlab-figure pie-chart

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

按多列对data.frame进行分组

说我有这个data.frame

data <- data.frame(foo = c(1, 1, 2, 2 ),
                   bar = c(10,10,10,20),
                   baz = c(1, 2, 3, 4 ),
                   qux = c(5, 6, 7, 8 ))
Run Code Online (Sandbox Code Playgroud)

我想通过foobar列对它进行分组以达到此目的:

expected <- list(
  data.frame(foo = c(1, 1),
             bar = c(10, 10),
             baz = c(1, 2),
             qux = c(5, 6)),
  data.frame(foo = 2,
             bar = 10,
             baz = 3,
             qux = 7),
  data.frame(foo = 2,
             bar = 20,
             baz = 4,
             qux = 8)
)
Run Code Online (Sandbox Code Playgroud)

我可以为每个组生成一个行,但是我找不到一个MATCH函数; 当给定带有列的输入框架和带有列 …

r

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

转换元组类型

所以我是提升 MPL 的新手,我不知道如何将它与标准类型一起使用。

我想要一个隐藏这种类型的元函数:

std::tuple<T0, T1, ..., TN>
Run Code Online (Sandbox Code Playgroud)

进入这个:

std::tuple<
  std::function<T0(std::tuple<T0, T1, ...>, std::tuple<T0, T1, ...>)>,
  std::function<T1(std::tuple<T0, T1, ...>, std::tuple<T0, T1, ...>)>,
  ...,
  std::function<TN(...)>
>
Run Code Online (Sandbox Code Playgroud)

似乎这可以通过transform来完成,但我想要一个元组类型,而不是类型的向量。(它实际上不必使用 MPL,但我想它会更短?)

背景:目前我使用完全通用的类型,如果使用错误,则依赖所有地狱,但我想计算TupleOfFunctions以获得正确的错误。

template<class TupleOfValues, class TupleOfFunctions>
void f(TupleOfValues v, TupleOfFunctions fun)
Run Code Online (Sandbox Code Playgroud)

c++ boost metaprogramming c++11

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

函数和仿函数作为模板函数的参数

我正在寻找一种方法将函数指针,仿函数或lambda传递给g使用传递函数的参数类型的模板函数,例如:

template<class T1, class T2, class T3>
struct wrapper_t {
  boost::function<void(T1,T2,T3)> f;
  wrapper_t( boost::function<void(T1,T2,T3)> f ) : f(f) {}
  void operator( std::vector<T1> &a, std::vector<T2> &b, T3 c ) {
    assert(a.size() == b.size());
    for(size_t i = 0 ; i != a.size() ; i++) f(a[i], b[i], c);
  }
};
template<class T1, class T2, class T3>
wrapper_t<T1,T2,T3> make_wrapper( boost::function<void(T1,T2,T3)> f ) {
  return wrapper_t<T1,T2,T3>( f );
}

void f(int, double, char) {};
wrapper_t<int, double, char> w0(f); // need to repeat types …
Run Code Online (Sandbox Code Playgroud)

c++ templates function-pointers

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

合并同一类的不同实例

我正在编写一个简单的CLI应用程序,它允许用户修改一些文档,真实的东西更复杂,但是假设我有一个跟踪当前文档并将CLI上指定的操作应用于所有文档的状态:

data MyState = MyState { doc :: [Document] }

run :: UserAction -> State MyState ()
run a = do s <- get ; put $ s { doc = map (edit a) (doc s) }
Run Code Online (Sandbox Code Playgroud)

我有一些函数来修改它Document,它目前只是一个内存中的数据结构:

data Document = Document [Stuff] [OtherStuff]
edit :: Document -> UserAction -> Document
Run Code Online (Sandbox Code Playgroud)

现在我想重构一下,将公共接口拉出到一个类中:

class Document d where edit :: d -> UserAction -> d
instance Document MemoryDocument where edit = ... -- as before
instance Document RemoteDocument where edit …
Run Code Online (Sandbox Code Playgroud)

haskell

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