首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二维镶嵌的labeling_cells函数

二维镶嵌的labeling_cells函数
EN

Stack Overflow用户
提问于 2014-05-19 18:57:03
回答 1查看 865关注 0票数 1

似乎有什么东西(很多东西?)我不明白如何在包mosaiclabeling_cells中使用vcd,因为我一直收到一个错误。

设置:

我有一个2d值数组(行名和列名被更改以保护无辜的人):

代码语言:javascript
复制
tmparray
       C1    C2   C3    C4    C5    C6
P1  65241 15534 5754 12747 57902 48367
P2    205 28581 4819  7617  5504 34656
P3     27  3503 1473   757  3308 15363
P4 417580  5967 5353   636   514  9758
P5  31482   915  249   914   328  1301
P6  75501  4307  294   176    27  8376
P7  43589  2864  465   179    61 12631
P8  64095  1008  335   288     3  7438

mosaic(tmparray)给了我预期的情节(代表太低,无法发布图片)。

我想为每个单元格添加文本标签,只显示tmparray > 1000中的值。在labeling_cells文档之后,我尝试如下:

代码语言:javascript
复制
celltxt <- ifelse(tmparray < 1000, NA, tmparray/1000)
celltxt
        C1     C2    C3     C4     C5     C6
P1  65.241 15.534 5.754 12.747 57.902 48.367
P2      NA 28.581 4.819  7.617  5.504 34.656
P3      NA  3.503 1.473     NA  3.308 15.363
P4 417.580  5.967 5.353     NA     NA  9.758
P5  31.482     NA    NA     NA     NA  1.301
P6  75.501  4.307    NA     NA     NA  8.376
P7  43.589  2.864    NA     NA     NA 12.631
P8  64.095  1.008    NA     NA     NA  7.438

labeling_cells(text = celltxt)(tmparray)

这将导致以下错误:

代码语言:javascript
复制
# Error in ifelse(abbreviate_varnames, sapply(seq_along(dn), function(i) abbreviate(dn[i],  : replacement has length zero

有人能指出如何使标签工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-19 20:11:26

好的,我假设是class(tmparray)=="matrix"。这似乎很适合绘图,但如果您想要使用labeling_cells,则需要将其转换为表,一定要添加命名的维度。你可以用

代码语言:javascript
复制
tmparray <- as.table(tmparray)
names(dimnames(tmparray))<-c("P","C")

所以当您现在创建celltext

代码语言:javascript
复制
celltxt <- ifelse(tmparray < 1000, NA, tmparray/1000)

它还将是一个具有相同dimnames的表。

您必须做的另一件重要事情是将pop=F传递给mosaic。这将使网格视图结构就位,以便labeling_cells函数能够找到标签的正确位置。这样你就可以用

代码语言:javascript
复制
mosaic(tmparray , pop=F)
labeling_cells(text = celltxt, margin=0)(tmparray)

这会导致

(我把这些值舍入小数点后一位,试图使事情变得更整洁)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23745201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档