我的数据框的第一列是一个包含两组信息的因素:激活的类型(A1-4)和执行的月份(大约50个YYMM格式的观察)。简化版本可能如下所示:
A = data.frame(type.month=c("A1.1605", "A2.1605", "A1.1604", "A2.1604"), value=sample(1:4))
> A
type.month value
1 A1.1605 2
2 A2.1605 4
3 A1.1604 1
4 A2.1604 3
我想将types
放入一列,将months
放入另一列,我read通常可以使用reshape2
包来完成变量整齐地分开(例如,前半部分仅为A1,后半部分仅为A2)。但是,我的备用(A1,A2,A1 ......)和包含两个信息(类型和月份)。 reshape2
在这种情况下仍然是一个好工具,还是我应该考虑别的什么?
我的观点是在一个数据帧中保留四种类型的激活工作和月份,这样我就不必将它们存储在四个不同的文件中。
答案 0 :(得分:2)
这使用tidyr
函数separate
:
A = data.frame(type.month=c("A1.1605", "A2.1605", "A1.1604", "A2.1604"), value=sample(1:4))
library(dplyr)
library(tidyr)
A %>% separate(type.month, c('type','month')) %>% arrange(type, desc(month))
给出
type month value
A1 1605 4
A1 1604 2
A2 1605 1
A2 1604 3
答案 1 :(得分:0)
library(stringr)
str_split_fixed(A$type.month, "\\.", 2)