如何使用R将列表的列拆分为几列 [英] How to split a column of list into several columns using R
本文介绍了如何使用R将列表的列拆分为几列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
原始数据框:
sg dt time
2099 C 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 2014-07-24 16:23:55.2
2100 C 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 2014-07-24 16:23:55.4
2101 C 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 2014-07-24 16:23:55.5
2103 C 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0 2014-07-24 16:23:56.4
2104 C 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 2014-07-24 16:23:56.5
2102 C 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1 2014-07-24 16:23:56.7
有一列名为"dt"的
> z$dt
[[1]]
[1] "0" "0" "0" "0" "0" "1" "0" "0" "0" "0" "0" "0" "0"
[[2]]
[1] "0" "0" "0" "0" "0" "1" "0" "0" "0" "0" "0" "0" "0"
[[3]]
[1] "0" "0" "1" "0" "0" "1" "0" "0" "0" "0" "0" "0" "0"
[[4]]
[1] "0" "0" "0" "1" "0" "1" "0" "0" "0" "0" "1" "0" "0"
[[5]]
[1] "0" "0" "0" "0" "0" "1" "0" "0" "0" "0" "1" "0" "0"
[[6]]
[1] "0" "0" "0" "0" "0" "1" "0" "0" "0" "0" "0" "0" "1"
我想将"dt"列转换为多个列,例如:
I want convert the column "dt" into multiple columns like:
sg A B C D E F G H I G K L M time
2099 C 0 0 0 0 0 1 0 0 0 0 0 0 0 2014-07-24 16:23:55.2
2100 C 0 0 0 0 0 1 0 0 0 0 0 0 0 2014-07-24 16:23:55.4
2101 C 0 0 1 0 0 1 0 0 0 0 0 0 0 2014-07-24 16:23:55.5
2103 C 0 0 0 1 0 1 0 0 0 0 1 0 0 2014-07-24 16:23:56.4
2104 C 0 0 0 0 0 1 0 0 0 0 1 0 0 2014-07-24 16:23:56.5
2102 C 0 0 0 0 0 1 0 0 0 0 0 0 1 2014-07-24 16:23:56.7
我该怎么办?
推荐答案
如果z$dt
中的数据都具有相同的长度,则以下内容应该起作用:
The following should work if the data in z$dt
all have the same length:
x <- do.call(rbind, z$dt)
colnames(x) <- LETTERS[1:ncol(x)]
cbind(z[c("sg", "time")], x)
这篇关于如何使用R将列表的列拆分为几列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文