我有一个大型数据集,其中所有列标题都是单个IDS,每个IDS长度为8个字符。我想将这些单独的ID分成两行,第一行ID包含前7个字符,第二行仅包含最后一个字符。按R中的字母/字符数拆分列标签
当前数据集:
ID1: Indiv01A Indiv01B Indiv02A Indiv02B Speci03A Speci03B
预期的数据集:
ID1: Indiv01 Indiv01 Indiv02 Indiv02 Speci03 Speci03
ID2: A B A B A B
我已经通过对分割数据的其他职位看,但他们似乎都不得不分开列名(一种独特的方式即:用逗号分隔两个组件,或一段时间)。
这是我想会的工作最好的代码,但我无法弄清楚如何为“7个字符”作为分割点代码,而不是一个逗号:
sapply(strsplit(as.character(d$ID), ",")
任何帮助,将不胜感激。
+1比我的产品更优雅。你介意解释你的模式吗? – jbaums
@jbaums我添加了一个解释。 –
这是一个很好的解释和易于理解!我唯一的困难是,我仍然被卡住,试图将它应用到我的列标题或data.frame中的第一行。有什么想法吗?谢谢! – KKL234