使用hclust、ctree、rpart或其他函数构建树

使用hclust、ctree、rpart或其他函数构建树,r,R,是否可以建立一个类似于下图的树?这棵树应该主要表示机组人员的数量如何划分为不同的类别 df<-data.frame(Titanic) df_Crew <- df[df$Class=="Crew",] L <- lapply(1:4, function(i) aggregate(df_Crew$Freq, by=df_Crew[1:i], sum)) L2 <- lapply(L, function(d) data.frame(group=do.call(paste, c(

是否可以建立一个类似于下图的树?这棵树应该主要表示机组人员的数量如何划分为不同的类别

df<-data.frame(Titanic)
df_Crew <- df[df$Class=="Crew",]
L <- lapply(1:4, function(i) aggregate(df_Crew$Freq, by=df_Crew[1:i], sum))
L2 <- lapply(L, function(d) data.frame(group=do.call(paste, c(as.list(d[names(d)!="x"]), sep="_")), freq=d$x))
L3<-data.frame()
for(i in 1:3){
    d<-cbind(from=rbind(L2[[i]],L2[[i]])$group,L2[[i+1]])
    L3<-rbind(L3,d)
}
library(igraph)
g <- graph.data.frame(L3, directed=TRUE)
plot(g,layout=layout.reingold.tilford(g,root=1),edge.arrow.size=0.5)

df您可以使用相同的逻辑用rpart构建它

rpart->二元决策树(CART-->分类和回归树),为每个不同的节点生成一个二元/非二元序列,并将其传递给rpart()


同样,其他人也会读出数据包,以便应用逻辑将其转换为输入格式。

请停止删除并重新发布相同的问题。我只能假设您这样做是为了删除评论历史记录和/或将问题排在队列的最前面。这两个都不是对本网站的恰当使用。1)不,这不是同一个问题。2) 我之所以删除这篇文章,是因为更正和评论破坏了我的问题,所以他们得到答案的人在你的“更正”后无法再阅读。3) 读过这个问题的人会认为我之前的帖子中有答案。如果你不同意编辑,你可以回滚对你帖子的编辑。但是,不要卷入编辑战;你可以标记你的文章,以引起版主的注意,因为内容引起了争议。删除并重新发布不是一个好主意。1)许多thx都在寻找建设性的答案。2) 我给出了一个例子,因此有人可以告诉我,对于像rpart这样的函数,要得到类似的结果,需要输入什么。@Klaus希望这个链接能帮助你。这个是要构建的