【发布时间】:2015-10-04 19:31:46
【问题描述】:
我想编写一个执行以下操作的函数。它有两个参数,arg1 和 arg2,而 arg2 的默认值设置为 1。当调用该函数时,用户将数据框/矩阵分配给 arg 1,并将 1、2 或 3 分配给 arg2。
如果 arg1 被赋值为 1,则函数返回包含所有列名的向量
如果 arg 2 被赋值为 2,函数返回每一列的平均值
如果 arg2 被赋值为 3,则函数返回每一行的中位数。
如果为 arg2 分配了 1、2 或 3 之外的任何值,则该函数会打印一条错误消息。
到目前为止,这是我的代码:
my_Func1<-function(arg1)
A<-data.matrix(arg1)
if(arg2==1){
return(colnames(arg1))
}
else {arg2==2){
colMeans(A)
}
else{arg2==3){
rowMedians(A)
}
else if (missing(arg2))
writeLines(“ The value must be 1, 2, or 3”)
}
}
在我的机器上,它有时会编译并生成空矩阵,或者它根本无法编译。我不太清楚错误在哪里,但我怀疑它的语法。有人可以帮我确定问题所在并建议我需要做出哪些改变吗?或者这可能是我的逻辑?
【问题讨论】:
-
我不明白。请提供一些示例输入调用以及您希望从这些调用的结果中看到的内容