r - 获取行长不均匀的数据框列表
问题描述
有一个由许多行长不均匀的数据帧组成的列表。列名总是在迭代:name、var、name.1、var.1 等。有时有些列只有 1 行和 NA。问:如何将它们全部匹配在一起?
myData<-list(name=c("1","2","3","4","5","6","7"),var=c(5,5,5,5,5,5,5), name=c(1,2,3,4,5,6,7),var=c(2,2,2,2,2,2),name=c(1,2,3,4,5,6),var=c(5,5,5,4,5),name=c(""),var=c(""))
最终结果将如下所示:
name var name.1 var.1 name.2 var.2 name.3 var.3 …
1 1 5 1 2 1 5 [NA] [NA] …
2 2 5 2 2 2 5
3 3
.
.
解决方案
固定数据:
myData<-list(name=c("1","2","3","4","5","6","7"),var=c(5,5,5,5,5,5,5), name=c(1,2,3,4,5,6,7),var=c(2,2,2,2,2,2),name=c(1,2,3,4,5,6),var=c(5,5,5,4,5),name=c(""),var=c(""))
工作解决方案:
( maxlen <- max(lengths(myData)) )
# [1] 7
data.frame(lapply(myData, `length<-`, maxlen))
# name var name.1 var.1 name.2 var.2 name.3 var.3
# 1 1 5 1 2 1 5
# 2 2 5 2 2 2 5 <NA> <NA>
# 3 3 5 3 2 3 5 <NA> <NA>
# 4 4 5 4 2 4 4 <NA> <NA>
# 5 5 5 5 2 5 5 <NA> <NA>
# 6 6 5 6 2 6 NA <NA> <NA>
# 7 7 5 7 NA NA NA <NA> <NA>
推荐阅读
- python - reg edit 系统找不到指定的文件
- java - 将启动画面重定向到片段
- r - 字符串中的函数参数
- javascript - React - 从上下文中获取分页数据
- angular - 错误:FirebaseError:使用无效数据调用函数 Query.where()。不支持的字段值:未定义
- r - 带有排名的ggplot2条形图
- php - 从表单中获取 ip 地址
- javascript - 如何停止 JavaScript 在不包含查询元素的页面上运行?
- string - 第一个重复字符 | 运行
- sparql - 查找 DBPedia 资源的所有 Wikilinks,其中 Wikilinks 共享相同的主题