问题描述
如何在一行代码中创建多个列?比如下图中,我想把下面六行代码变成一行代码?
A1AFirstBatch4$OOATB1 <- with(A1AFirstBatch4,coalesce(Q1a,Q1b))
A1AFirstBatch4$OOATB2 <- with(A1AFirstBatch4,coalesce(Q2a,Q2b))
A1AFirstBatch4$OOATB3 <- with(A1AFirstBatch4,coalesce(Q3a,Q3b))
A1AFirstBatch4$OOATB4 <- with(A1AFirstBatch4,coalesce(Q4a,Q4b))
A1AFirstBatch4$OOATB5 <- with(A1AFirstBatch4,coalesce(Q5a,Q5b))
A1AFirstBatch4$OOATB6 <- with(A1AFirstBatch4,coalesce(Q6a,Q6b))
由 reprex package (v2.0.0) 于 2021 年 4 月 7 日创建
解决方法
您可以像这样创建数据框。如果您需要追加(而不是创建),则可以选择将新创建的数据帧与旧的数据帧合并。
如果确实是您要查找的 ONE LINE(不是一个语句),则可以省略此处插入的换行符以增加阅读能力。
A1AFirstBatch4 <- data.frame(OOATB1 = coalesce(Q1a,Q1b),OOATB2 = coalesce(Q2a,Q2b),... and so forth ... )
这是您要找的吗?我不确定您需要实现什么。
如果是函数、if语句等的一段代码:使用大括号:
{statement 1
statement 2
statement 3...
}
(从字面上理解您的问题,您可以简单地将分号放在一行中的语句之间,但这是不可读的,我不确定每行 A... <- ....; A... <- ....; ...
的最大字符数)。