【问题标题】:Vector names error向量名称错误
【发布时间】:2015-09-30 21:37:47
【问题描述】:

我正在尝试使用函数 names 为向量设置名称,但 R 给了我一个错误。我想用函数创建一个向量,然后为该向量中的每个数字设置名称。我想通过只写一个订单来完成所有这一步(例如v(x))。这是我的代码脚本示例

v <- c(2,6,5)
d <- function(x) x*9

names(d(x))<-paste("q=", 1:3, sep="")

R 说

名称错误(d(x))

【问题讨论】:

  • 请提供可重现的示例和所需的输出。
  • 也许尝试在设置名称之前先将div(x) 的结果实际存储在变量中...?
  • 也许将其标记为正确以将其关闭并将其从未答复列表中删除?或者您还需要这方面的帮助吗?
  • 如果您以不同的方式解决了它,则将其添加为解决方案并将其标记为正确。

标签: r function vector names


【解决方案1】:

我真的不知道你在做什么,但假设这是近似的,我可以重现错误:

qn <- 1:11

div_1 <- function(x) { x <- x + 1 }
div_2 <- function(x) { x <- x + 2 }

div<- function(x) c(div_1(x)[1],div_2(x),div_1(x)[2:10])
x <- 1
names(div(x))<- paste("q=", qn, sep="" )
# Error in names(div(x)) <- paste("q=", qn, sep = "") : 
#  could not find function "div<-"

我可以用这个来修复它(分为两个步骤):

qn <- 1:11

div_1 <- function(x) { x <- x + 1 }
div_2 <- function(x) { x <- x + 2 }

div<- function(x) c(div_1(x)[1],div_2(x),div_1(x)[2:10])

x <- 1

v <- div(x)
names(v)<- paste("q=", qn, sep="" )

# q=1  q=2  q=3  q=4  q=5  q=6  q=7  q=8  q=9 q=10 q=11  
# 2    3   NA   NA   NA   NA   NA   NA   NA   NA   NA

这可能是一个错误,或者是为临时变量分配名称的限制(请注意,结果会在您的版本中被丢弃)。出于好奇,你用 div 做什么?

【讨论】:

  • 是的,我总是用相同的输出完成这一步。 Div 是计算多样性(生物材料)的函数。
  • 那么这是否为您解决了问题?
  • 不,但现在我解决了这个问题。 v
  • 如果您能解释一下我的问题以及您是如何解决的,将会有所帮助。
  • @Bobesh 您的所有帖子都是可编辑的。永远不要仅仅为了重新发布而删除问题。只需编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 2020-05-12
相关资源
最近更新 更多