Why are there two assignment operators, `<-` and `->` in R?

前端 未结 4 846
我寻月下人不归
我寻月下人不归 2020-12-29 18:31

I know how to use <- and ->, and there are several writeups on the difference between equals assignment & arrow assignment,

4条回答
  •  孤独总比滥情好
    2020-12-29 18:52

    From the answer to an exercise in The New S Language (Becker, Chambers and Wilks 1988), via Google Books:

    When you type a long expression only to remember at the end that it would be a good idea to save the result, a right-hand arrow allows you to perform an assignment without retyping the line.

    This suggests that S users were working directly in the console, without line-editing capabilities that are available in most modern REPL/interactive environments ...


    Some archaeology: I poked around in foundational sources on Google Books. There are three relevant books:

    • the Brown Book: S: An Interactive Environment for Data Analysis and Graphics R. A. Becker, J. M. Chambers (CRC Press, 1984)
    • Extending the S System, Becker and Chambers (Taylor & Francis, 1985)
    • the Blue Book: The New S Language Becker, Chambers and Wilks (Wadsworth and Brooks/Cole 1988, but reissued in 2018!! by CRC Press)

      1. The Brown Book doesn't mention -> in the main text:

    but it does in the appendix:

    1. Extending the S System mentions -> in the main text:

    I can't search very much of the book, so -> might also be mentioned in the appendix somewhere.

    1. The Blue Book refers to the right-arrow, but actually seems to have a typo:

    I interpret the underlined red passages as supporting that there's a typo in the first underlined line, which should be -> rather than ← ...

    Here's the screenshot of the exercise answer referred to above:

    If you want a copy of the 1985 book you can get it for $34.41 - or $1070.99 (but with free shipping!) ...

提交回复
热议问题