使用R在数据树上聚合多个变量

时间:2018-04-04 14:04:55

标签: r tree nodes

我目前正在尝试在宏基因组环境中为每个样本构建树。

以下是一个示例数据集:

import cv2
from skimage.measure import regionprops

img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)

image, contours, hierarchy = cv2.findContours(img,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)`

现在要收集每个分类水平的价值。实际上,如果我取一个样本的值,那么它们都处于NA的最低分类水平(物种):

library(phyloseq)
library(dplyr)
data(GlobalPatterns)

mydata <- merge(GlobalPatterns@tax_table, GlobalPatterns@otu_table, by = "row.names")
mydata <- mydata %>% dplyr::select(-one_of("Row.names"))
mydata$pathString <- apply(mydata[,1:7], 1, paste, collapse="/")
tree <- data.tree::as.Node(mydata)

我使用了这里提出的想法:Aggregating values on a data tree with R来执行聚合,这是按样本进行的示例:

print(tree, "CL3")

我的想法是创建一个适用于样本的向量n并且在聚合中执行的函数。我尝试通过添加“sample”参数来更改函数,但没有成功

myApply <- function(node) {
  node$CL3_2 <- sum(c(node$CL3, purrr::map_dbl(node$children, myApply)), na.rm = TRUE)
}

myApply(tree)
print(tree, "CL3_2")

0 个答案:

没有答案