这个符号在R中代表什么意思? .[, "n"]

64 浏览
0 Comments

这个符号在R中代表什么意思? .[, "n"]

这个问题已经有答案了:

访问列表或数据框元素时方括号[ ]和双方括号[[ ]]的区别

当没有逗号以确定行或列时方括号的含义

我正在尝试理解 R 中的这段代码:

thing <- low_temp %>% filter(room_type == "bedroom" & score == "6") %>% .[, "n"] %>% sum()

代码.[, \"n\"]的含义不明确,而且由于它完全是缩写,因此无法在谷歌上搜索。

显然,[, x]只是基本的 R。但我从来没有在我的有限的 R 学习中看到过点括号符号的用法。我猜想使用 \"n\" 也不一致最新的 R 编码标准。所涉及的数据框包含一个名为 n 的列。

我的理解是,R 已经存在了很长时间,像大多数开源语言一样,在没有严格的编辑的情况下进行了很多扩展,这导致了大量语法的冗余。这种情况下,我认为像这里让我困惑的符号应该被系统地淘汰,因为它们不明确,无法搜索,并且难以阅读。

话说回来,我的问题很简单,就是 %>% .[, \"N\"] 中点括号符号的含义是什么。其次,为什么在 n 周围使用双逗号?

admin 更改状态以发布 2023年5月23日
0
0 Comments

df = low_temp %>% filter(room_type == "bedroom" & score == "6")
那么 .[, "n"] 意味着 df[, "n"](等同于df$n

0
0 Comments

这里是一个关于 mtcars 的例子,基本上是通过列名选择一列,但它返回一个向量,与 select() 不同,后者返回一个数据帧。

    mtcars %>% 
       select("cyl") %>% 
       pull()
     [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
    mtcars %>% 
       .[,"cyl"]
     [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
    mtcars$cyl
     [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4

0