矢量名称错误

时间:2015-07-12 15:39:03

标签: r function vector names

我试图使用函数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))&lt; - paste(“q =”,1:3,sep =“”):     找不到功能“d&lt; - ”

1 个答案:

答案 0 :(得分: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?