2017-07-17 712 views
0

當我嘗試運行下面的代碼中,我得到的錯誤:所有參數必須具有相同的長度誤差R中

Error in table(GD_DATA$Area.x, GD_DATA$Input) :
all arguments must have the same length

它正常工作時,我本身運行(即不是一個功能的一部分),但我希望能夠在函數中運行它以使代碼更高效/可讀。

任何人都可以看到我要去哪裏錯了嗎?

當我在一個函數之外運行代碼時,它會生成一個表格,其中子表格的數量爲列,面積爲行,單元格中的值表示每個區域中有一定兒童數量的家庭數量。

Frequencies<- function(column, df){ 
df = as.data.frame.matrix(table(GD_DATA$Area.x, GD_DATA$column)) 
} 
Frequencies(No.Of.Children, No_Child) 

下一個代碼運行正常,並給予正確的輸出:它錯誤

代碼

No_Child<-as.data.frame.matrix(table(GD_DATA$Area.x, GD_DATA$No.Of.Children)) 
+2

請檢查[問]和[mcve]。 –

回答

0

嘗試

Frequencies<- function(Input){ 
output = as.data.frame.matrix(table(GD_DATA$Area.x, GD_DATA[[Input]]) 
} 
Frequencies("No.Of.Children") 
  • 的參數No_child似乎不在你的功能中使用。
  • 當您使用GD_DATA $ Input時,您試圖從數據框中獲取列輸入,而不是輸入值。 (希望解釋清楚)
+0

感謝您的迴應,我仍然得到同樣的錯誤,這樣我就無法定義每次都需要不同的輸出。 – MLPNPC

+0

這沒有必要。也許看到:https://www.r-bloggers.com/how-to-write-and-debug-an-r-function/ – Florian

+0

如果你想輸出到'No_Child'中,你可以寫'No_Child < - 頻率(「No.Of.Children」)' – Eumenedies

相關問題