【发布时间】:2017-11-27 13:45:59
【问题描述】:
一个简单的例子:
a <- quantile(1:10, 0.1)
a
输出:
10%
1.9
使用 a 为命名数组赋值:
b = c(index=0, value=a)
b
输出:
index value.10%
0.0 1.9
为什么 'value' 和 '10%' 会自动用点组合? 如何避免这种情况,因为我只想将其命名为“价值”?
【问题讨论】:
-
您可以使用
unname:c(index=0, value=unname(a))或as.vector:c(index=0, value=as.vector(a))。来自帮助文件?c:c有时用于删除除名称之外的属性的副作用,例如将数组转换为向量。as.vector是一种更直观的方法,但也会删除名称。 -
或
c(index=0, setNames(a,"value"))或setNames(c(0,a),c("index","value")) -
@Imo,这解决了我的问题。谢谢!
-
在这种特定情况下,您还可以使用
names=FALSE参数调用quantile,因为您想覆盖它们:a <- quantile(1:10, 0.1,names=FALSE)。这样您还可以获得效率奖励。