假设我有一个如下所示的数据框:
Factor Value
====== =====
1A.In 1.0
1A.Out 2.6
1B.In 0.5
1B.Out 3.4
2A.In 5.5
等
我的目标是在数据框中添加列,从单个Factor列中提取信息,如下所示:
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
我无法弄清楚如何在不使用子集广告的情况下执行此操作。我对R比较陌生,并且没有编程背景,所以任何建议都会非常感激。
答案 0 :(得分:7)
请参阅?substr
。
within(df, {
Fact1 <- substr(Factor, 1, 1)
Fact2 <- substr(Factor, 2, 2)
Fact3 <- substr(Factor, 4, 999)
})
我在这里假设每个新变量使用多少个字符。为了更加通用,您应该在Factor
中使用某种常规结构,例如点作为所有变量的分隔符。