【问题标题】:Simultaneous variable assignment and printing同时变量赋值和打印
【发布时间】:2014-02-25 02:58:02
【问题描述】:

我想知道是否有一种方法可以分配一个值并将该值简洁地打印到控制台。

x <- 1:5; x

这就是我目前的做法,但我想知道是否有办法在一个语句中做到这一点。

【问题讨论】:

    标签: r variable-assignment


    【解决方案1】:

    你可以试试:

    (x <- 1:5)
    

    print(x <- 1:5)
    

    虽然这对像这样的事情不起作用

    (names(x) <- letters[1:5])
    

    虽然对于该特定示例,您可以这样做:

    (x <- setNames(x, letters[1:5]))
    

    【讨论】:

    • 没想到,("names&lt;-"(x, letters[1:5])) 打印了x 及其名称。
    • @alexis_laz,但不幸的是,这实际上并没有为x 设置名称;我认为为了让黑魔法起作用,你必须使用names(x) &lt;- ... 表格;或者我猜你可以做(x &lt;- "names&lt;-"(x, letters[1:5])),这很有趣,因为这为你提供了一个通用机制,用于其他没有setNames 等功能的替换方法。
    • 嗯,我看了你说的,我很困惑..例如看到这个x = 1; y = c(1,2); "names&lt;-"(x, "x"); "names&lt;-"(y, c("y1", "y2")); x; yx 没有获得“名称”属性,而 y 获得。如果xnames(x) &lt;- .. 命名,那么"names&lt;-"(x, ..) 确实会更改其“名称”。
    • @alexis_laz,恐怕我仍然没有使用您的代码为xy 设置任何名称。如果我尝试names(x) &lt;- "a"; "names&lt;-"(x, "x"); x,我仍然会在x 上获得原始名称(即“a”)。
    • 请查看其他 SO Q/A,了解更多关于 @alexis_laz 和我在这里看到的差异的详细信息。
    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2020-02-11
    相关资源
    最近更新 更多