我经常会发现这样的问题:人们最终得到了一个未命名字符向量的未命名列表,并且希望将它们按行绑定到data.frame
中。这里有一个例子:
library(magrittr)
data <- cbind(LETTERS[1:3],1:3,4:6,7:9,c(12,15,18)) %>%
split(1:3) %>% unname
data
#[[1]]
#[1] "A" "1" "4" "7" "12"
#
#[[2]]
#[1] "B" "2" "5" "8" "15"
#
#[[3]]
#[1] "C" "3" "6" "9" "18"
一种典型的方法是从基R使用do.call
。
do.call(rbind, data) %>% as.data.frame
# V1 V2 V3 V4 V5
#1 A 1 4 7 12
#2 B 2 5 8 15
#3 C 3 6 9 18
Reduce(rbind,data, init = NULL) %>% as.data.frame
# V1 V2 V3 V4 V5
#1 A 1 4 7 12
#2 B 2 5 8 15
#3 C 3 6 9 18
library(dplyr)
bind_rows(data)
#Error: Argument 1 must have names
library(data.table)
rbindlist(data)
#Error in rbindlist(data) :
# Item 1 of input is not a data.frame, data.table or list
library(purrr)
map_df(data, ~set_names(.x, seq_along(.x)))
# A tibble: 3 x 5
# `1` `2` `3` `4` `5`
# <chr> <chr> <chr> <chr> <chr>
#1 A 1 4 7 12
#2 B 2 5 8 15
#3 C 3 6 9 18
然而,这似乎是更多的步骤比它需要的。
因此,我的问题是什么是一种有效的tidyverse
或data.table
方法来将未命名字符向量的未命名列表按行绑定到data.frame
中?
不完全确定效率,但使用purrr
和tibble
的紧凑选项可以是:
map_dfc(purrr::transpose(data), ~ unlist(tibble(.)))
V1 V2 V3 V4 V5
<chr> <chr> <chr> <chr> <chr>
1 A 1 4 7 12
2 B 2 5 8 15
3 C 3 6 9 18
我有一个列表,每个元素都是一个字符向量,长度不同。我想将数据绑定为行,这样列名就“对齐”,如果有额外的数据,就创建列,如果缺少数据,就创建NAs 下面是我正在使用的数据的模拟示例 如果我确定每个元素的格式是相同的,下面的行通常是我会做的... 我希望有人能想出一个很好的解决方案,匹配列名,并用s填空,同时添加新列,如果在绑定过程中发现新列。。。
我想在不同的列表中加入多个向量,并输出一个矩阵列表。其思想是,列表中具有相同名称的所有项目,例如所有项目,通过行作为矩阵连接起来。增加的复杂性是,这些向量可以具有不同的长度,因此实现起来并不简单;矩阵中缺少的值可以附加s。 输入列表: 我希望获得的理想输出是一个列表,其中矩阵的数量与唯一列表项的数量相同,其中每个矩阵由行绑定的不同长度的向量组成: 我将如何编写一个函数,它也可以扩展到合并具有不同长
这里的答案引用了一个包含所有完全未来方法的表,但这并不是我要找的,或者我可能搞错了。 我正在寻找Streams'peek()的完全未来等价物,因此基本上是一个返回输入参数的,或者一个不返回的。我认为有两种方法都不能在语义上准确地表达我的意图,但可以做到这一点: 和 两者都从上一个阶段获取输入,允许我执行一个操作并以相同的类型返回到下一个阶段。在这两种方法中,后一种方法将我的时间限制在其他事情完成时
我已经看了好几次留档了,看了来源,都没用。 我在寻找与PHPUnit的“this”相同的Codeception- 根据文档,就像这应该是可行的,但它不是“未定义的方法”。我必须激活哪个助手、模块或其他什么?
我是WPF技术的新手。我已经在WinForms开发了大约6年。 现在我想通过学习WPF来提高我的技能一大步。我正在阅读MSDN中的介绍指南,同时作为个人练习,我试图将WinForms UI的sructure转换为其WPF UI的等价物。 这是我想在WPF中重现的WinForms控件结构的简单模型: 我的问题:有人可以指导我或给我一个简短的例子,我如何可以添加一个下拉按钮的东西在工具栏?。
Intellij中的等效快捷方式是什么?