2017-07-17 61 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

相关问题