提问人:user3523406 提问时间:11/16/2022 最后编辑:zx8754user3523406 更新时间:11/22/2022 访问量:171
使用查询时出现 UpSetR 错误:替换有 1 行,数据有 0
UpSetR error when using queries: replacement has 1 row, data has 0
问:
我尝试使用 UpsetR 来可视化输入文件,可以在这里找到
> library("UpSetR")
> orthogroups_df<- read.table("orthogroups.GeneCount.tsv", header=T, stringsAsFactors = F)
> #All species
> selected_species <- colnames(orthogroups_df)[2:(ncol(orthogroups_df) -1)]
> selected_species
[1] "Atha" "Cann" "NQLD" "Natt" "Ngla" "Nlab" "Nsyl" "Ntab" "Ntom" "Slyc" "Stub" "Vvin"
> head(orthogroups_df)
Orthogroup Atha Cann NQLD Natt Ngla Nlab Nsyl Ntab Ntom Slyc Stub Vvin Total
1 OG0000000 0 0 965 0 0 3 0 0 0 0 0 0 968
2 OG0000001 0 1 3 0 0 448 0 0 0 0 0 0 452
3 OG0000002 0 1 313 0 0 120 1 0 1 0 0 0 436
4 OG0000003 0 93 15 21 46 16 33 63 36 25 39 26 413
5 OG0000004 1 42 2 34 109 6 8 154 11 9 4 0 380
6 OG0000005 0 2 61 1 34 44 91 70 43 20 1 0 367
> ncol(orthogroups_df)
[1] 14
> orthogroups_df[orthogroups_df > 0] <- 1
> upset(orthogroups_df,
+ nsets = ncol(orthogroups_df),
+ sets = rev(c(selected_species)),
+ queries = list(list(query = intersects, params = list("NQLD", "Nlab", "Nsyl"), color = "#238c45", active = T),
+ list(query = intersects, params = list("NQLD", "Nlab"), color = "#ffd977", active = T)))
Error in `$<-.data.frame`(`*tmp*`, "freq", value = 45L) :
replacement has 1 row, data has 0
如何解决上述错误?
答:
0赞
zx8754
11/22/2022
#1
我们需要将相交的数量 - nintersects - 设置为更大的数字,以便可以显示查询参数中的集合。
默认情况下,nintersects 设置为 40,并在 40 之后出现在第 90 位,因此我们需要一个更大的数字,这里我尝试使用 90:list("NQLD", "Nlab", "Nsyl")
upset(orthogroups_df,
nsets = ncol(orthogroups_df),
sets = rev(c(selected_species)),
nintersects = 90,
queries = list(
list(query = intersects,
params = list("NQLD", "Nlab", "Nsyl"),
color = "red",
active = TRUE),
list(query = intersects,
params = list("NQLD", "Nlab"),
color = "blue",
active = TRUE)))
评论
orthogroups_df