小编Mat*_*eoS的帖子

如何在约束条件下以图形方式在Mathematica中定义参数值

我在Mathematica(和StackOverflow)中相对较新,我试图弄清楚是否可以实现以下Mathematica接口.

我想在Mathematica中创建一个接口,用户可以根据约束以图形方式和交互方式定义任意数量的数值参数.

问题中的参数是数字权重[0,1],每个都与相应的标准相关联并且被约束为求和.显而易见,这种约束导致了对可以与每个标准相关联的权重的权衡,并且我希望通过沿着下面的线(不幸地在Excel中制作)的交互式绘图以图形方式进行这种权衡:

图形权重定义的示例

在这个例子中,有6个标准,但我想将其概括为任意数字(例如,在2和7之间).

界面将通过沿着相应的轴拖动每个多边形顶点(对应于特定的权重)并且使其他顶点均匀地调整以使它们总是总和为1来工作.

然后返回数值以用于后续计算.

我环顾四周,似乎找不到有同样问题的人(可能是搜索查询的定义非常重要).

我在Mathematica的例子中发现的最接近的事情是定位器窗格的以下应用,其中允许在正方形上移动3个点并返回它们的位置:

[0,1]

在此输入图像描述

我非常感谢任何建议.谢谢!

wolfram-mathematica interactive

15
推荐指数
2
解决办法
618
查看次数

使用coord_flip()在ggplot2条形图中的图例条目顺序

我正在努力在我用R中的ggplot2制作的图表中获得正确的变量排序.

假设我有一个数据帧,例如:

set.seed(1234)
my_df<- data.frame(matrix(0,8,4))
names(my_df) <- c("year", "variable", "value", "vartype")
my_df$year <- rep(2006:2007)
my_df$variable <- c(rep("VX",2),rep("VB",2),rep("VZ",2),rep("VD",2))
my_df$value <- runif(8, 5,10) 
my_df$vartype<- c(rep("TA",4), rep("TB",4))
Run Code Online (Sandbox Code Playgroud)

产生下表:

  year variable    value vartype
1 2006       VX 5.568517      TA
2 2007       VX 8.111497      TA
3 2006       VB 8.046374      TA
4 2007       VB 8.116897      TA
5 2006       VZ 9.304577      TB
6 2007       VZ 8.201553      TB
7 2006       VD 5.047479      TB
8 2007       VD 6.162753      TB
Run Code Online (Sandbox Code Playgroud)

有四个变量(VX,VB,VZ和VD),属于两组变量类型(TA和TB).

我想将值绘制为y轴上的水平条,首先按变量组垂直排序,然后按变量名称排序,按年份分面,x轴上的值和填充颜色对应于变量组.(即在这个简化的例子中,顺序应该是,从上到下,VB,VX,VD,VZ)

1)我的第一次尝试是尝试以下方法:

ggplot(my_df,        
    aes(x=variable, y=value, fill=vartype, order=vartype)) + …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

调整coord_polar()直方图中文本标签的位置

我坚持使用ggplot2制作的一系列极性直方图来解决一个小的标签问题(环形?这些东西怎么称为?).

以下是数据和图形外观的简化示例:

df <- data.frame(Attribute1=10, Attribute2=1, Attribute3=2,  Attribute4=6,  Attribute5=7)
g <- ggplot(melt.data.frame(df), aes(x=variable, y=value, fill=variable, label=value))
g <- g + geom_bar() + geom_text() + coord_polar()
g
Run Code Online (Sandbox Code Playgroud)

其中给出了以下图表: 极坐标直方图的例子

我想向外移动文本标签(远离中心).

通常情况下,我会用hjustvjust在里面调整位置geom_text(),但看起来,coord_polar()结果是向上/向下或向左/向右移动所有标签,但不是向内/向外移动.

这可能听起来微不足道 - 可能是 - 但我还没有找到任何适用的例子或解决方法,所以如果这个问题看起来很愚蠢我会道歉.

r ggplot2

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

如何确保R/Rcpp代码可重现("可分发")?

我已经写了一些R代码里面的论文,依靠一些外部包(例如,plyrreshape),并利用写了几个比较简单的内联C++函数inlineRcppArmadillo.

我想确保它可以在我自己的计算机(Win64)上"按原样"执行,以用于研究再现性目的.

我的问题:假设我包括安装所需的软件包,代码会在RcppArmadillo(和Rcppinline)封装足以能够汇编写的功能RcppArmadillo,或将最终用户需要更改系统路径为编译他的Windows机器上?如果没有,是否可以/建议从我的结束保存编译的功能,并包含在我发货的R代码中?

此外,在不太可能的情况下代码应该运行一段时间(比如说,几年),在当前版本中包含完整的R安装以及相关软件包以使代码"面向未来"是足够的?

我希望这个问题很清楚.

r future-proof rcpp

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

迭代且有效地将元素添加到R igraph中的顶点的列表属性中

我正在研究R中的信号传播算法,使用igraph(随机图库),它涉及使用2级嵌套列表.

Igraph允许将属性附加到顶点(图形的节点),这些可以是向量或列表,但在我的应用程序中,我需要嵌套列表.

要查看,请尝试:

library("igraph")
g <- graph.full(10) # create a fully connected graph with 10 vertices
V(g)$letters <- list(NULL) # adds a list called "letters" to every vertex
V(g)$letters # results in a nested list
Run Code Online (Sandbox Code Playgroud)

我想在不同的阶段将存储在向量中的一些预定元素添加到第二级列表的给定子集中,其中子集列表与向量的大小相同.

问题是找到一种将元素添加到二级列表的有效方法.

更简单(也是目前为止)的方法是编写一个循环:

set.seed(1234)

# every iteration represents a "round" of element addition ,
# followed by other operations. 
# So the attribute "letters" should not be populated in one sitting.
for (i in 1:10){

  # select randomly five 2nd-level lists …
Run Code Online (Sandbox Code Playgroud)

performance r list igraph

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