4

假设我有一个如下所示的数据框:

Factor     Value
======     =====
1A.In      1.0
1A.Out     2.6
1B.In      0.5
1B.Out     3.4
2A.In      5.5

等等

我的目标是将列添加到从单个因子列中提取信息的数据框中,如下所示:

Factor   Value   Fact1     Fact2     Fact3
======   =====   =====     =====     =====
1A.In    1.0     1         A         In  
1A.Out   2.6     1         A         Out
1B.In    0.5     1         B         In
1B.Out   3.4     1         B         Out
2A.In    5.5     2         A         In

如果不使用 subset ad nauseum,我只是无法弄清楚如何做到这一点。我对 R 比较陌生,并且没有编程背景,因此非常感谢任何建议。

4

1 回答 1

8

?substr

within(df, {
    Fact1 <- substr(Factor, 1, 1)
    Fact2 <- substr(Factor, 2, 2)
    Fact3 <- substr(Factor, 4, 999)
})

我在这里假设每个新变量要使用多少个字符。为了更通用,您应该在 中具有某种常规结构Factor,例如点作为所有变量的分隔符。

于 2013-07-25T15:16:53.390 回答