我想堆叠3个字符列表。
我已经尝试过rbind(),rbindlist(),bind_rows(),但是我没有达到正确的最终结构。
我的原始字符列表如下:
list1 = list("16403074 L3 2", "16603059 L3 2")
list2 = list("0 1", "0 1")
list3 = list("1.7 0.75514 -1.62403 0.06183" ,"1.7 0.42851 0.52817 0.08137")
我希望最终输出看起来像这样:
"16403074 L3 2"
"0 1"
"1.7 0.75514 -1.62403 0.06183"
"16603059 L3 2"
"0 1"
"1.7 0.42851 0.52817 0.08137"
因此,每个列表的对应元素都被堆叠。
答案 0 :(得分:0)
假设每个列表的长度相同,我们可以使用
unlist(matrix(c(list1, list2, list3), , 2, byrow = TRUE))
# [1] "16403074 L3 2" "0 1" "1.7 0.75514 -1.62403 0.06183"
# [4] "16603059 L3 2" "0 1" "1.7 0.42851 0.52817 0.08137"
诀窍在于首先构建
matrix(c(list1, list2, list3), , 2, byrow = TRUE)
# [,1] [,2]
# [1,] "16403074 L3 2" "16603059 L3 2"
# [2,] "0 1" "0 1"
# [3,] "1.7 0.75514 -1.62403 0.06183" "1.7 0.42851 0.52817 0.08137"
替代品是
unlist(do.call(rbind, list(list1, list2, list3)))
unlist(data.table::rbindlist(list(list1, list2, list3)))
答案 1 :(得分:0)
您可以使用$inputDate = [datetime]::Parse((Read-Host "Please enter a start date [DD/MM/YYYY]"))
$refDate = Get-Date -Day 6 -Month 12 -Year ($inputDate.Year + 1)
$days = ($refDate - $inputDate).Days
中unnest()
中的tidyr
:
tidyverse
答案 2 :(得分:0)
您是否正在寻找类似的东西-
> cat(paste(unlist(c(list1, list2, list3))), sep="\n")
OR
> writeLines(paste(unlist(c(list1, list2, list3))), sep="\n")
16403074 L3 2
16603059 L3 2
0 1
0 1
1.7 0.75514 -1.62403 0.06183
1.7 0.42851 0.52817 0.08137