【发布时间】:2014-03-09 10:34:24
【问题描述】:
我有以下数据集elections:
var1 <- c("125677", "255422", "475544", "333344", "233452")
var2 <- c("PRB", "PAN", "PR", "PV", "PJ")
var3 <- c("PCB/PTdoB/PCO/PRB", "PAN", "DEM/PR/PT/PSDB/PMDB/PV", "DEM/PR/PT/PSDB/PMDB/PV/PSTU/PSOL", "DEM/PJ")
elections <- cbind(var1, var2, var3)
看起来像这样:
var1 var2 var3
---------------
125677 PRB PCB/PTdoB/PCO/PRB
255422 PAN PAN
475544 PR DEM/PR/PT/PSDB/PMDB/PV
333344 PV DEM/PR/PT/PSDB/PMDB/PV/PSTU/PSOL
233452 PJ DEM/PJ
我想将 var3 分解为另外八个变量,var4 到 var11,这些变量可以由 var3 中的 / 分隔的字符填充。因此我想要的结果是这样的:
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11
---------------------------------------------------------
125677 PRB PCB/PTdoB/PCO/PRB PCB PTdoB PCO PRB
255422 PAN PAN PAN
475544 PR DEM/PR/PT/PSDB/PMDB/PV DEM PR PT PSDB PMDB PV
333344 PV DEM/PR/PT/PSDB/PMDB/PV/PSTU/PSOL DEM PR PT PSDB PMDB PV PSTU PSOL
233452 PJ DEM/PJ DEM PJ
我能够通过strsplit(elections$var3, '/') 获得接近我想要的结果,但问题是这会产生一个对象列表。因此,当var3 中只有一个元素时它可以工作,但当有多个元素时它不会。
有什么想法吗?
【问题讨论】:
-
您的代码显示
matrix,但您尝试的解决方案显示了一种可用于data.frame的方法。您的“选举”数据集的实际形式是什么? -
这是一个
data.frame。