高级语言程序设计是学什么的:~(tilde)在R程序设计语言中的应用

我在关于回归建模的教程中看到以下命令:

myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width

这个命令到底做了什么,命令中~(波浪号)的作用是什么?

230

<-右边的东西是一个formula对象。它通常用来表示统计模型,其中~左边的东西是响应,~右边的东西是解释变量。所以在英语中你会说“物种取决于萼片长度,萼片长度,

该行的myFormula <-部分将公式存储在名为myFormula的对象中,以便您可以在 R 代码的其他部分中使用它。

R 中公式对象的其他常见用法

lattice包将它们用于specify the variables to plot
ggplot2包将它们用于specify panels for plotting
dplyr包将它们用于non-standard evaulation

94

R 定义了一个用于公式的~(波浪号)运算符。公式有各种各样的用途,但也许最常见的是回归:

library(datasets)
lm( myFormula, data=iris)

help("~")help("formula")会教你更多。

@ Spacedman 已经介绍了基础知识,让我们讨论一下它的工作原理。

首先,作为一个操作符,请注意它本质上是一个函数的快捷方式(有两个参数):

> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs

这可能有助于了解在例如apply系列命令中的使用。

其次,您可以操纵公式作为文本

oldform <- as.character(myFormula) # Get components
myFormula <- as.formula( paste( oldform[2], "Sepal.Length", sep="~" ) )

第三,你可以操纵它作为一个列表

myFormula[[2]]
myFormula[[3]]

最后,公式有一些有用的技巧(请参阅help("formula")了解更多):

myFormula <- Species ~ . 

例如,上面的版本与原始版本相同,因为点表示“尚未使用的所有变量”。这将查看您在最终模型调用中使用的 data.frame,查看 data.frame 中存在哪些变量,但在公式中没有明确提及,并用这些缺失的变量替换点。

7

总之,

The tilde(~)separates the left side of a formula with the right side of the formula.

例如,在线性函数中,它会将因变量与自变量分开,并且可以解释为“作为…的函数”。因此,当一个人的工资(工资)作为其受教育年限(years_of_education)的函数时,我们会做类似的事情,

wages ~ years_of_education

在这里

 Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width

这意味着,SpeciesSepal Length, Sepal Width, Petal Length and Petal Width的函数。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(448)
高级语言程序设计题库:~(tilde)在R程序设计语言中的应用
上一篇
机架服务器和刀片服务器区别:应用服务器和Web服务器有什么区别
下一篇

相关推荐

  • fortran编程语言构建高效的数值计算应用

    Fortran(FORmula TRANslation)是一种高级计算机编程语言,它可以用来编写高效的数值计算程序。它是一种强类型的、编译型的、通用的编程语言,广泛应用于科学计算和工程领域。Fortran语言提供了很多特性,例如变量,常量,过程,函数,数组,循环,判断等,使得程序员能够快速地编写出高效的程序。…

    2023-07-31 09:35:34
    0 88 88
  • 高级语言程序设计题库:~(tilde)在R程序设计语言中的应用

    关于高级语言程序设计题库的问题,在tilde in r中经常遇到,我在关于回归建模的教程中看到以下命令:…

    2022-11-23 08:26:36
    0 76 56
  • android开发需要学习什么语言学习Java语言的技巧

    Android开发需要学习的语言主要有Java和Kotlin,其中Java是安卓开发的主要语言,Kotlin是一种新的安卓开发语言,它比Java更加简洁、高效。…

    2023-01-13 02:50:19
    0 78 92
  • android开发需要什么语言Java语言知识指南

    示例示例android开发需要使用Java语言,下面是一个简单的java代码示例:public class {…

    2023-04-26 11:28:05
    0 95 84
  • qsort源码:实现快速排序的C语言qsort函数

    qsort()函数是一个快速排序算法,它能够根据用户提供的比较函数来对数组中的元素进行排序。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。…

    2023-01-23 09:37:27
    0 48 49
  • ppt的vba编程语言:为“Hello World”的消息框MsgBox Hello World

    PPT VBA编程语言是一种基于Visual Basic for Applications(VBA)的编程语言,用于在Microsoft PowerPoint中创建宏和自动化任务。它可以帮助您自动执行复杂的任务,如将图像添加到每张幻灯片,或者根据指定的时间间隔自动更改文本。…

    2023-07-01 12:14:35
    0 50 53
  • xcode怎么用c语言:#include int main(){ printf(\n***** Welcome to C

    Xcode是苹果公司开发的集成开发环境,可以用来开发Mac OS X,iOS,watchOS和tvOS应用程序。它可以用来开发Objective-C,Swift和C++等语言,也可以用来开发C语言程序。下面给出一个使用C语言在Xcode中编写的示例代码:…

    2023-08-06 12:51:36
    0 40 28
  • android studio 中文社区:如何在Android Studio中使用Kotlin语言开发应用

    Android Studio 中文社区是一个讨论Android Studio开发工具的在线社区,它提供了丰富的资源和信息,以帮助开发者更好的使用Android Studio。该社区拥有众多的Android Studio开发者,他们可以在这里分享自己的经验,解决问题,并讨论有关Android Studio的新功能和技术。…

    2023-03-29 01:03:50
    0 62 78

发表评论

登录 后才能评论

评论列表(31条)