我已经对此感到困惑不解了,所以对于其他可能偶然发现相同问题的人来说,这是一个虚假的问题。
考虑这个网格单位向量,
a = unit(1:3, c("cm", "in", "npc"))
我想用新值替换一些元素。自然的做法是
a[1] = unit(2,"pt")
a
# [1] 2cm 2in 3npc
出了点问题:仅更改了数字值,未更改单位。为什么?该怎么办?
编辑:正如下面的一个答案所指出的,这样的单位仅仅是具有属性的数字向量。但是,它们的后代unit.arithmetic
也unit.list
应被视为完全通用的解决方案(例如,用于调整ggplot对象的面板大小)。考虑这个单位向量,
(b = a + unit(1, "npc"))
# [1] 1cm+1npc 2in+1npc 3npc+1npc
# [1] "unit.arithmetic" "unit"
现在替换特定元素变得更加棘手,因为它们不再是原子的。
grid
现在有一种[<-.unit
方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句