r - 将 data.table 链分成两行代码以提高可读性

标签 r data.table code-formatting

我正在处理 Rmarkdown 文档,并被告知严格限制最大列数(边距列)为 100。在文档的代码块中,我使用了许多不同的包,其中是 data.table .

为了遵守限制,我可以拆分链(甚至是长命令),例如:

p <- ggplot(foo,aes(bar,foo2))+
       geom_line()+
       stat_smooth()
bar <- sum(long_variable_name_here,
         na.rm=TRUE)
foo <- bar %>% 
         group_by(var) %>%
         summarize(var2=sum(foo2))

但我无法拆分 data.table链,因为它会产生错误。我怎样才能实现这样的目标?
bar <- foo[,.(long_name_here=sum(foo2)),by=var]
           [order(-long_name_here)]

当然,最后一行会导致错误。谢谢!

最佳答案

您必须在 [ 之间返回和 ]的每一行。如何将 data.table 代码分成几行的示例:

bar <- foo[, .(long_name_here = sum(foo2)), by = var
           ][order(-long_name_here)]

您也可以在每个逗号之前/之后返回。逗号前返回的示例(我的偏好):
bar <- foo[, .(long_name_here = sum(foo2))
           , by = var
           ][order(-long_name_here)
             , long_name_2 := long_name_here * 10]

this answer for an extended example

关于r - 将 data.table 链分成两行代码以提高可读性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761872/

相关文章:

R data.table多个条件联接

使用 `by = .I` 在 data.table 中的行操作

netbeans 7.3.1 代码格式化下没有选项

r - R-Studio 版本 0.98.953 - 启动时控制台中出现错误消息

r - 将行名称赋予 R 中的表

r - 包 "Imports"未加载到 R 开发包中

R随机化和随机化数据表的列

eclipse - 如何格式化perl代码?

vim - 如何修复vim中损坏的自动缩进

r - ggplot2 图,从某个点开始的刻度轴