只有在matlab中的方法中才允许访问对象的字段

时间:2015-04-27 22:30:06

标签: matlab

我需要在matlab中修改phytree对象的集群方法。修改后,我将名称更改为cluster_second。然后,当我运行该函数时,我得到错误说

bar[, as.list(unlist(lapply(.SD, foo))), by = y, .SDcols = "x"]
#    y x.mn     x.sd
# 1: d    3 2.828427
# 2: e    4 2.828427
# 3: f    5 2.828427
# 4: g    6 2.828427

我明白这里发生了什么。因为我需要使用tr.tree,它是phytree对象的一个​​字段,只能在该phytree对象的方法中访问。显然,cluster_second不满足该条件。任何人都可以帮我解决这个问题吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您希望cluster_second方法成为phytree的方法,请将文件cluster_second.m放入目录\toolbox\bioinfo\bioinfo\@phytree。然后,所有phytree个对象都会有一个额外的方法cluster_second(以及原始的cluster方法)。

您可能也可以将其放入名为@phytree的其他文件夹中,只要此@phytree文件夹位于您的路径上即可。我担心我现在的机器上没有Bioinformatics Toolbox来测试它。