2015-07-12 31 views
0

我試圖使用函數names設置向量的名稱,但是R給了我一個錯誤。我想創建一個帶有函數的矢量,然後爲該矢量中的每個數字設置名稱。我想通過只寫一個訂單來完成所有這一步(例如v(x))。這是我的例子代碼腳本向量名稱錯誤

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

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

和R說

Error in names(d(x)) <- paste("q=", 1:3, sep = "") : could not find function "d<-"

+0

請提供可重現的示例和所需的輸出。 –

+0

也許嘗試在設置名稱之前實際將'div(x)'的結果存儲在變量中...? – joran

+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做什麼?

+0

是的,我總是用相同的輸出做出這一步。 Div是計算多樣性(生物材料)的函數。 – Bobesh

+0

那麼這是否解決了它? –

+0

不,但現在我修復了一個不同的問題。 v << - div(x),names(v)<-.... 這個工作,但我想有一個與此輸出功能。現在我必須發佈兩個命令而不是一個。這些命令是div(x)和v – Bobesh