在d3.js中,你如何在这种层次结构中使用.data?
data = [{node : 1, subProperties : ["A", "B", "C"]}
,{node : 2, subProperties : ["D", "E", "F"]}
]
d3.select("body")
.data(data)
.append("g") //for the node (1 and 2)
.??? //append a "sub"-g for the subProperties (A,B,C and D,E,F)
Run Code Online (Sandbox Code Playgroud)
基本上,我想创建一组节点,并为每个子属性添加在同一节点下分组的其他内容.
或者.data仅用于"串行"结构?如果是这样,那么如何处理这样的层次化数据呢?
我不是在寻找d3的布局特征,而是如何在树状层次结构中"迭代".谢谢!
我是蟒蛇熊猫的新手.我有一个数据文件,其中包含多个行标签(每行)和列标签(每列),如下列数据,包括3个不同动物(狗,蝙蝠,鸵鸟)的多个记录时间(星期一早上,白天,夜晚) ):
'' , '' , colLabel:name , dog , bat , Ostrich
'' , '' , colLabel:genus , Canis , Chiroptera , Struthio,
'' , '' , colLabel:activity, diurnal, nocturnal, diurnal
day , time of day, '' , , ,
Monday , morning , '' , 17 , 5 , 2
Monday , day , '' , 63 , 0 , 34
Monday , night , '' , 21 , 68 , 1
Friday , day , '' , …Run Code Online (Sandbox Code Playgroud) 我有一个分层的时间序列,其中底层系列都表现出间歇性的需求.使用Hyndman的HTS软件包在层次结构中实现最佳组合似乎是有利的.使用Kourentzes的MAPA包进行间歇性需求的多重聚合预测似乎也是有利的.从本质上讲,我想做的事情如下:
forecast(my_hts, method='comb', fmethod='MAPA')
但是,我不清楚是否/如何将两者结合起来,因为forecast.gts()只接受fmethod=c("ets", "arima", "rw").
是否有一种聪明的方法可以传递不同的预测方法forecast.gts()而不必撕掉代码?
举例澄清我的意思:
library(hts)
library(MAPA)
set.seed(1)
#note intermittent demand of bottom level time series
x <- ts(rpois(365, lambda=0.05), frequency=365, start=2014)
y <- ts(rpois(365, lambda=0.07), frequency=365, start=2014)
#it's easy to make a MAPA forecast for the top-level time series
#but this isn't an optimal hierarchical forecast
mapasimple(x+y)
#it's also easy to make this a HTS and make an optimal hierarchical forecast
#but now I cannot use MAPA
z <- hts(data.frame(x,y))) …Run Code Online (Sandbox Code Playgroud) 这是一个Python风格的问题 - 我的Python代码有效,我只是在寻找一种编码约定的建议,这将使代码更容易阅读/理解/调试.
具体来说,我正在开发一个Python类,它允许调用者将小部件添加到自定义GUI.为了设置GUI,用户将编写一个方法,将小部件(命名或匿名)添加到小部件区域,以便小部件形成树(在GUI中很常见).
为了允许用户设置窗口小部件树而不必为每个容器窗口小部件命名(然后在每次添加子窗口小部件时显式引用该父窗口小部件),我的API支持"父窗口小部件"的概念堆".在声明容器窗口小部件时,用户可以指定将该窗口小部件推送到此堆栈,然后默认情况下,任何其他窗口小部件(未明确指定父窗口)将添加到堆栈顶部的父窗口.这是我的意思的一个简单例子:
def SetupGUI(self):
self.AddWidget(name="root", type="container", push=True)
self.AddWidget(type="container", push=True)
for i in range(0,8):
self.AddWidget(name="button%i"%i, type="button")
self.PopParentWidget() # pop the buttons-container off the parents-stack
self.AddWidget(type="container", push=True)
for i in range(0,8):
self.AddWidget(name="slider%i"%i, type="slider")
self.PopParentWidget() # pop the sliders-container off the parents-stack
self.PopParentWidget() # pop the container "root" off the parents-stack
Run Code Online (Sandbox Code Playgroud)
这很方便,但我发现当GUI层次结构变得更复杂时,开始变得难以分辨哪个对self.PopParentWidget()的调用对应于哪个容器小部件.很容易放入太多,或者太少,并最终在GUI中产生非常有趣但无意的结果.
所以我的问题是,没有强迫PopParentWidget()采用一个显式的小部件名称(我想避免,因为我不想命名每个容器小部件),有什么我可以做的推动/代码中的pop配对对眼睛更明显?
在C/C++中,我会使用缩进来做,但是使用Python我不允许这样做.例如,我希望能够做到这一点:
def SetupGUI(self):
self.AddWidget(name="root", type="container", push=True)
self.AddWidget(type="container", push=True)
for i in range(0,8):
self.AddWidget(name="button%i"%i, type="button")
self.PopParentWidget() # pop the buttons-container off the parents-stack
self.AddWidget(type="container", push=True)
for i in …Run Code Online (Sandbox Code Playgroud) 使用以下答案,我尝试根据混淆矩阵编码分层类聚类。混淆矩阵用于评估分类问题的结果,并且不对称。每行代表实际类中的实例。这是一个混淆矩阵的示例,您可以在其中看到“零”类的 25% 的样本被预测为“六”类。
我尝试用以下方法修改代码:
conf_mat = 1 - conf_mat # 1.0 means dissimilarity
sch.linkage(conf_mat, method='warp')
Run Code Online (Sandbox Code Playgroud)
但我得到了错误的结果。
我应该如何组织数据才能应用聚类?
下面应该给出簇的重新排列顺序,对吧?
ind = sch.fcluster(Y, 0, 'distance')
Run Code Online (Sandbox Code Playgroud) python cluster-analysis hierarchical-clustering hierarchical scipy
我在JAGS中有一个仅拦截逻辑模型,定义如下:
model{
for(i in 1:Ny){
y[i] ~ dbern(mu[s[i]])
}
for(j in 1:Ns){
mu[j] <- ilogit(b0[j])
b0[j] ~ dnorm(0, sigma)
}
sigma ~ dunif(0, 100)
}
Run Code Online (Sandbox Code Playgroud)
当我绘制b0所有受试者(即所有受试者b0[j])崩溃的后验分布时,我的95%HDI包括0:-0.55 to 2.13.每个有效样本大小超过10,000 b0(平均大约18,000).诊断看起来不错.
glmer()现在,这是等效的glmer()模型:
glmer(response ~ 1 + (1|subject), data = myData, family = "binomial")
Run Code Online (Sandbox Code Playgroud)
然而,该模型的结果如下:
Random effects:
Groups Name Variance Std.Dev.
speaker (Intercept) 0.3317 0.576
Number of obs: 1544, groups: subject, 27
Fixed effects:
Estimate Std. Error z value Pr(>|z|) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用GNURadio Companion GUI创建一个Hierarchical块.我在其他帖子中找到的答案说要选择要合并的块,然后转到更多 - >创建Hier.然后应该出现一个新的屏幕.但是,使用所选块的任何组合进行"创建Hier"似乎什么都不做.
我做错了什么,或者我的GRC有问题吗?
我的输入是文件系统路径的平面列表,这些路径都是单个顶级目录的子目录(或其中的文件)。
\n\n我的最终输出应该是:
\n\n我创建了一个中间数据结构,它是一个自引用,具有名称和\'ed childstruct Dir向量。Boxstruct Dir
我可以成功地Dir用来表示任意目录树,如下面的输出所示。
我正在考虑使用堆栈来处理列表,Dir为每个子目录添加一个并在升序时弹出,但我似乎无法像使用 C 或其他语言那样使用 Rust。无论我尝试什么,我都会遇到编译器错误。
如何将平面列表转换为 aDir并使编译器满意?或者,如何以不同的方式实现(1)和(2)?
代码:
\n\n// A type to represent a path, split into its component parts\n#[derive(Debug)]\nstruct Path {\n parts: Vec<String>,\n}\nimpl Path {\n pub fn new(path: &str) -> Path {\n Path {\n parts: path.to_string().split("/").map(|s| s.to_string()).collect(),\n }\n }\n}\n\n// A recursive type to …Run Code Online (Sandbox Code Playgroud) 构建匹配分层数据的单个正则表达式是否可行/实用?
例如:
<h1>Action</h1>
<h2>Title1</h2><div>data1</div>
<h2>Title2</h2><div>data2</div>
<h1>Adventure</h1>
<h2>Title3</h2><div>data3</div>
Run Code Online (Sandbox Code Playgroud)
我想最终得到比赛.
"Action", "Title1", "data1"
"Action", "Title2", "data2"
"Adventure", "Title3", "data3"
Run Code Online (Sandbox Code Playgroud)
我认为这需要知道这里有一个层次结构,如果我编码模式来捕获H1,它只匹配该层次结构的第一个条目.如果我不为H1编码那么我就无法捕获它.想知道我是否有任何特殊的技巧来解决这个问题.
这是一个.NET项目.
因此,我尝试使用C ++进行游戏,并且阅读了很多有关有限状态机(FSM)和分层状态机(HSM)的文章。但是,我将承认我阅读的大部分内容都有些密集且难以理解,因此我希望有人可以为我简化它。这是FSM还是HSM?
根据我想清除的内容:
HSM与普通的FSM有何不同?为什么对游戏更好?
关于C ++,如何按照状态模式实现基本的HSM?(我可能对此不正确/使用错误的单词。)
您如何精确地处理过渡?我经常听到的on_exit和on_enter方法是什么?
我整个游戏需要一个HSM吗?(例如处理所有敌人,玩家动作,游戏菜单)还是我使用多个HSM?
在实现玩家实体时,它们是否都是实体状态的子集?
最后,如果有人可以提供一些伪代码来帮助可视化这些问题,我将不胜感激。
hierarchical ×10
python ×3
hierarchy ×2
r ×2
c++ ×1
d3.js ×1
forecasting ×1
fsm ×1
glm ×1
gnuradio ×1
indentation ×1
jags ×1
javascript ×1
labels ×1
pandas ×1
recursion ×1
regex ×1
rust ×1
scipy ×1
styles ×1
time-series ×1
tree ×1