我想字符向量的列表合并成单个数据帧。例如,我想要
list(A=c("123","456"), B=c("789"), C=c("000"))
成为:
label val
1 A 123
2 A 456
3 B 789
4 C 000
我想出了以下几点。它可以工作,但看起来笨拙。有没有更优雅的方式做上述?
l <- list(A=c("123","456"), B=c("789"), C=c("000"))
res <- lapply(names(l), function(x) {
data.frame(label=rep(x, length(l[[x]])), val=l[[x]],
stringsAsFactors = F) })
do.call("rbind", res)
答案 0 :(得分:2)
library(tidyverse)
test <- list(A=c("123","456"), B=c("789"), C=c("000"))
enframe(test, "label", "val") %>% unnest
答案 1 :(得分:2)
可以使用良好的老式基础R
const randomLastPrice = (a, b) => {
console.log('not called until now', a, b); return /* value */
};
const mockTicker = {
APPL() {
return {
symbol: 'APPLE',
last: randomLastPrice(471.47, 817.63)
}
}
}