在列中分隔文字;进入新专栏

时间:2016-10-20 21:01:26

标签: r string text

我希望将每个元素的数据分开;进入专栏

我尝试过strsplit(df $ data),但后来我遇到了一个不能解决问题的不等长问题。我不确切地知道每行中有多少元素,但应该少于6行。有很多行,我无法弄清楚如何处理数据的不均匀性和使它适合在一个正方形。样本数据:

data = c("1;Donor;Constituent;Blog Subscriber", "2;Donor;Constituent;Blog Subscriber", "3;Donor;Constituent", "4;Donor;Constituent;Blog Subscriber",  "5;Donor;Constituent", "6;NA")
df <- data.frame(data)

messy = strsplit(df$data)

我如何做到这一点,因此每个元素都由&#34;;&#34;有自己的列和行吗?

1 个答案:

答案 0 :(得分:1)

不需要data.table象形文字,因为您不太可能需要data.table真正意义上的大型数据:

bits <- c("1;Donor;Constituent;Blog Subscriber", "2;Donor;Constituent;Blog Subscriber", "3;Donor;Constituent", "4;Donor;Constituent;Blog Subscriber",  "5;Donor;Constituent", "6;NA")
df <- data.frame(bits)

tidyr::separate(df, bits, sprintf("X%d", 1:4), ";")