将以逗号分隔的字符串表转换为R中的数据集

将以逗号分隔的字符串表转换为R中的数据集,r,R,我有excel文件,其中字段和值的数据以逗号分隔,如下所示: | A | B 1| field 1 | 1,3,4,5,7 2| field 2 | 2,4,5,7,8 我想将数据转换为R中的表,如: field 1 | field 2 1 | 2 3 | 4 4 | 5 5 | 7 7 | 8 我尝试使用read.xlsx,但R使用excel的第

我有excel文件,其中字段和值的数据以逗号分隔,如下所示:

 |   A       | B
1| field 1   |  1,3,4,5,7
2| field 2   |  2,4,5,7,8
我想将数据转换为R中的表,如:

field 1  |   field 2
  1      |     2
  3      |     4
  4      |     5
  5      |     7
  7      |     8
我尝试使用read.xlsx,但R使用excel的第一行来命名以下属性:

    field 1   |  1,3,4,5,7
    field 2   |  2,4,5,7,8
有人知道我该怎么做

资料


#df read.xlsx有一个参数调用头。设置header=FALSE将阻止read.xlsx使用第一行作为列names@rawr这并不是一个完全的问题。我想他们需要重新塑造后,分裂的宽度column@rawr您提供的链接将给出data.frame(A=c('field1','field1',…),B=c(1,3,…)
这不是他们想要的输出。当然,如果拆分为宽,那么一个简单的转置(和整理colnames等)就可以做到这一点…类似于
t(data.frame(a=df$a,do.call(rbind,strsplit(as.character(df$B),',',fixed=TRUE))
..
data.frame(setNames(strsplit(df$B,,,'),df$a))
# df <- readxl::read_excel('data.xlsx')
df <- structure(list(X__1 = c(1, 2), A = c("field 1", "field 2"),
                     B = c("1,3,4,5,7", "2,4,5,7,8")),
                .Names = c("X__1", "A", "B"),
                row.names = c(NA, -2L),
                class = c("data.frame"))