R函数返回值

时间:2018-01-07 11:22:53

标签: r

我是来自Java和SQL世界的新R用户。我一直在努力处理函数在R中返回的数据的配置或格式。到目前为止,我遇到了三个:

  • 返回实际数据:例如,如果搜索data.frame,则返回的行将是与搜索条件匹配的行(子data.frame)
  • 返回索引:例如,如果搜索data.frame,结果将是与搜索条件匹配的行的索引(1,3,20,22,...等)
  • 返回逻辑向量:例如,如果搜索data.frame,则返回将是一个向量,0表示不匹配的记录,1表示匹配的记录(1,0,0, 0,1,0,1,......等)。向量的大小将是data.frame
  • 中的确切记录数

返回的数据格式不一致导致我很多困惑。有什么方法可以在这些格式之间进行转换,或者至少告诉函数将返回哪种格式。

我试过调查这些资源,但我能找到问题的答案 https://www.statmethods.net/management/subset.html

https://www.r-bloggers.com/5-ways-to-subset-a-data-frame-in-r/

https://stat.ethz.ch/R-manual/R-devel/library/base/html/logical.html

谢谢

1 个答案:

答案 0 :(得分:1)

大多数支持函数或方法的编程语言允许从函数或方法(包括Java)返回不同类型的返回值。在任何语言中,20%的学习曲线与语言的基本语法有关,而另外80%与学习如何有效使用其类或函数库有关。

R在这方面没有什么不同。超过12,000 contributed packages,开始的R程序员花费相当多的时间来开发核心子包的熟练程度。

在Stackoverflow上,您可以根据个人情况看到答案中的模式'语言经验。有些人精通所谓的base R,他们的回答主要以不需要第三方包的方式表达。其他人采用了tidyverse,这是一个包含通用接口的软件包集合,可以轻松地操作和分析数据。还有一些人有使用适合特定任务的包的经验,例如用于生成排版质量表的tables package

了解R概念,函数和语言语法的方法

  1. R help:在R控制台输入?functionName以访问功能的帮助页面
  2. 可通过互联网访问的套餐文档:例如,tables packagewhich() function
  3. 打包网站:例如,tidyversequanteda
  4. 在线图书,例如R for Data ScienceAdvanced REfficient R Programming。所有这些都是出版书籍的数字版本,可以通过互联网免费访问。
  5. 死树书:虽然我在这里没有列出它们,但我已在References for R Programming编制了一份介绍性R资源列表。
  6. 最后,由于OP引用了R中不一致的挫折,他/她必须阅读The R Inferno

    Stackoverflow怎么样?

    Stackoverflow.com专注于为特定编程问题提供编码解决方案,用Minimal, Complete, and Verifiable示例表示。 SO社区还针对问题强制执行一组quality standards,包括同行和主持人审核,以确保它们是on topic

    通过阅读包或函数文档可以回答的一般问题通常会得到downvoted, placed on hold, or closed,因为SO社区期望一个人已经完成了基础研究(即阅读文档)并在发布问题之前尝试了解决方案在SO上。