r - 如何分配给R中变量值的names()属性

标签 r attributes names lvalue

在 R 中,“assign('x',v)”将名称为 'x' 的对象设置为 v。将 'x' 替换为将文本函数应用于变量 x 的结果。然后“分配”显示了它的值(value)。

不幸的是,“assign(paste('names(','x',')',sep=''),v)”失败了。所以如果'x'是一个变量x,我可以设置它的值,但我不能给它的元素命名。

可以解决这个问题吗?也许是一个解析评估技巧?谢谢。

最佳答案

在您提出问题的表格中,无需assign名称。如果您 x存在然后你做 names(x) <- v .这是做到这一点的正确方法。

如果您的变量名称未知(即动态创建),那么您可以使用 substitute

nm <- "xxx" # name of your variable
v <- 1:3 # value
assign(nm,v) # assign value to variable

w <- c("a","b","c") # names of variable
eval(substitute(names(x)<-w, list(x=as.symbol(nm))))
# Result is
str(xxx)
# Named int [1:3] 1 2 3
# - attr(*, "names")= chr [1:3] "a" "b" "c"

但是,如果您必须执行这种技巧,那么您的代码就有问题。

关于r - 如何分配给R中变量值的names()属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2907896/

相关文章:

R:将Plotly悬停模式设置为 "compare data on hover"

c# - 将属性添加到另一个程序集的类

r - cbind i :th name of a list-of-lists to the i:th list

.net - .NET CLR 何时评估安全属性?

c++ - 函数原型(prototype)中的不同参数名称

object - 命名软件对象的在线指南?

r - 源 = "dsk"不适用于 ggmap 库中的地理编码功能

r - 如何在 ggplot2 条形图中明确且一致地排序分组条形

r - 将具有两个字符串的行保留在同一行中

jQuery 表单插件适用于 Firefox 和 IE,但向 webkit 表单添加了无效 ID?