【问题标题】:All arguments must have same length ERROR in RR中的所有参数必须具有相同的长度错误
【发布时间】:2017-07-17 14:07:04
【问题描述】:

当我尝试运行以下代码时,出现错误:

表中的错误(GD_DATA$Area.x,GD_DATA$Input):
所有参数必须具有相同的长度

当我自己运行它(即不是函数的一部分)时它工作正常,但我希望能够在函数中运行它以使代码更高效/可读。

谁能看出我哪里出错了?

当我在函数外部运行代码时,它会生成一个表格,其中列有儿童数量,行有区域,单元格中的值表示每个区域中有一定数量儿童的家庭数量。

出错的代码:

 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))

【问题讨论】:

标签: r function


【解决方案1】:

试试

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 时,您试图从数据框中获取列 Input,而不是 Input 的值。 (希望解释清楚)

【讨论】:

  • 感谢您的回复,我仍然遇到同样的错误,而且我无法定义每次都需要不同的输出。
  • 没必要。或许可以看到:r-bloggers.com/how-to-write-and-debug-an-r-function
  • 如果你想输出到No_Child你可以写No_Child &lt;- Frequencies("No.Of.Children")
  • No_Child 是输出数据框的名称。我已尝试进行您建议的更改,但我仍然收到关于所有参数必须具有相同长度的相同错误
  • 请访问 G. Grothendieck 提供的 URL,以便我们为您提供帮助。
猜你喜欢
  • 2019-05-04
  • 2021-07-12
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多