当前位置:  开发笔记 > 编程语言 > 正文

网格单元向量中的元素替换

如何解决《网格单元向量中的元素替换》经验,为你挑选了0个好方法。

我已经被这几次困惑了,所以对于其他可能偶然遇到同样问题的人来说,这是一个问题.

考虑这个网格单位向量,

a = unit(1:3, c("cm", "in", "npc"))

我想用新值替换一些元素.自然的方法是,

a[1] = unit(2,"pt")
a
# [1] 2cm  2in  3npc

出了点问题:只更改了数值,而不是单位.为什么?该怎么办?

编辑:正如下面的一个答案所指出的,这些单位只是带有属性的数字向量.但是,它们的后代unit.arithmeticunit.list应该被认为是完全通用的解决方案(例如,用于调整ggplot对象的面板大小).考虑这个单位向量,

(b = a + unit(1, "npc"))
# [1] 1cm+1npc  2in+1npc  3npc+1npc
# [1] "unit.arithmetic" "unit"   

现在替换特定元素更加棘手,因为它们不再是原子元素.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有