1、dataframe转换为list
-- 1.1. 每一列作为list的一个元素
-- 1.2. 每一行作为list的一个元素
-- 1.3. 对行进行分组,每一组作为list的一个元素
2、对list进行转置
3、list转换为dataframe
-- 3.1 list的每个元素作为一列
-- 3.2 list的每个元素作为一行
1.2 每一行作为list的一个元素
1.3 对行进行分组,每一组作为list的一个元素
2、对list进行转置
3、list转化为dataframe
3.1 list的每个元素作为一列
3.2 list的每个元素作为一行
需要先转换为矩阵,再转换为数据框。
参考: wonphen
简单的做法
vec <- as.vector(unlist(mylist))但这代码有个问题 如果list 内包含 NULL 或者character(0) 这种0长元素,生成的vec 会短于mylist,导致对应相错位。这在处理数据框时并不合适。典型的情况出现在正则表达式提取文本。有些行并没有匹配,导致charater(0) 的出现。但生成的vec 又不允许错位。
要保留对应位置需要用循环
res <- character()count=0
for(i in mylist){count=count+1
if(length(i)==0){
res[count]=NA
}else{
res[count]=i
}
}
将R语言中的列表转变为dataframe格式,rbind函数比较好用,也有一些需要注意的问题
请参考: https://stackoverflow.com/questions/4227223/convert-a-list-to-a-data-frame