1

我正在运行一个MacOS Mojave R Studio Version 1.2.1335。我正在尝试更改通过文件phylogenetic上传到的树上的提示标签的颜色。我有一个单独的文件,其中所有物种名称的格式与文件完全相同。在物种名称旁边的列中,我有一个“是”或“否”。物种名称列称为 Tree_name,另一列称为“拥有”。我希望旁边有“否”的物种涂成红色,而其他物种涂成黑色。我是新来使用plot 。任何帮助将不胜感激!RnexusCSVnexusCSVRphylogenies

我曾尝试使用点做类似的事情,但不断出现此错误

Error in res[edge[i, 2]] <- res[edge[i, 1]] + el[i] : 

替换的长度为零

这是我尝试过的代码:

shark.data<-read.csv("sharks_nosquatinis_format.csv",row.names=1)
dotTree(str_tree_sharks,shark.data,colors=setNames(c("blue","red"),
c("yes","no")),ftype="i",fsize=0.7)
4

1 回答 1

0

没有一个运行的例子很难说,但你可以使用这些方面的东西:

## Creating a random tree (you can use your nexus one)
my_tree <- rtree(5)

## Creating a random dataset (same)
my_data <- data.frame("column_of_interest" = c("yes", "no", "yes", "no", "yes"))

## Creating a vector of colours
my_colours <- c("black", "orange")

## Plotting the tree with colored tip labels
plot(my_tree,
     tip.color = my_colours[(my_data$column_of_interest == "yes")+1])

column_of_interest当然是您拥有要绘制的信息的列。该部分(my_data$column_of_interest == "yes")+1正在查找中的哪些行column_of_interest具有元素"yes"并返回TRUE/FALSE向量。然后,您可以添加+1以将此逻辑向量转换为数字向量,其中TRUE变为2(1+1) 并FALSE变为1(0+1)。然后,my_colours[(my_data$column_of_interest == "yes")+1]零件会将第一种颜色归因于FALSE(在此示例中不是"yes"),将第二种颜色归因于TRUE( "yes")。

于 2019-08-01T00:54:24.470 回答