功能参数 - 通过引用替换

时间:2017-05-23 07:14:13

标签: r

感谢您的所有建议。我剩下的问题是: 我可以在以下声明中替换列名'sulphate'吗? dataclean< - datatable $ sulfate [!datanas] ....参考一个参数'污染物',它可能有也可能没有'硫酸盐'值?

1 个答案:

答案 0 :(得分:1)

将值附加到参数时,它们将显示为工作区中的对象。但环境不是工作空间,而是功能的环境。

所以在你的情况下,directory将是一个字符串,它会起作用。首次。您的工作目录现在已更改,您需要恢复到上一个​​目录才能使该功能再次运行。这可能会变得非常混乱,所以我喜欢做的只是通过完整路径引用原始文件。有关详细信息,请参阅?list.files

对于你的第二个问题,你最好的选择是参考变量中的某个级别,就是

x[, pollutant]

在那里添加drop = FALSE参数很方便,以保持我所假设的是data.frame。

您还可以通过实现datatable参数来改进您的功能。这样你可以很好地捆绑所有对象。

这里要注意的最重要的事情是"调试"。你应该学会至少使用browser()。此函数将在调用函数的最后一步停止执行函数。这使您能够在R控制台中检查函数中的元素并运行代码以查看其中的内容。通过这种方式,您可以加快代码的开发速度,至少在您通常尚未将所有数据结构和范例内化时。