2016-01-23 75 views
0

問題

我試圖使用apply()功能R中創建一個總結我的數據集內的多個不連續的變量,一個新的變量不連續變量的變量。創建使用適用中的R

該數據集是一個數據框,其中包含40個變量& 1,000個觀察值。 (我還不知道怎麼能代表這個視覺上的StackOverflow)

我可以使用此功能來概括連續變量與此:

data$newvar <- apply(data[24:34], MARGIN = 1, FUN = sum) 

我想創建一個變量,數額24 & 34,而不是24到33

data$newvar <- apply(data[24,34], MARGIN = 1, FUN = sum) 

不幸的是,這是行不通的。我收到以下錯誤:

dim(X) must have a positive length

在此先感謝!

+0

什麼是數據?數據框? [mcve] – jogo

回答

3

的OP代碼

data[24,34] 

是選擇24行和34列,而不是列24和34。因此,在元素,它是一個vector長度爲1。因此,我們得到了錯誤

dim(X) must have a positive length

要選擇這些列,連接(c)它。

data[,c(24,34)] 

如果原始數據集是data.frame,則,不需要

data[c(24,34)] 

,然後我們就可以使用apply

apply(data[c(24,34)], 1, FUN=sum) 

但是,這可以在不使用循環來解決。

rowSums(data[c(24,34)]) 
+1

謝謝@akrun。這解決了這個問題。 – Yasha