![](/img/trans.png)
[英]Create new list with condition of values (sublist) from another list in R
[英]Create list in R with the names and values coming from another list
所以這個問題的表述非常糟糕,但我想要實現的是:我有以下列表:
list(a = data.frame(foo=1:10, bar=11:20), b = data.frame(foo=1:10, bar=11:20))
我現在要創建的是另一個列表,其內容為:
(list(a=c("foo", "bar"), b=c("foo", "bar")))
$a
[1] "foo" "bar"
$b
[1] "foo" "bar"
但顯然我不想硬編碼它。 我想有一些或多或少簡單的答案,但我現在想不出任何答案。 在 R 中,命名列表和為對象分配名稱仍然讓我很困惑。 所以任何幫助將不勝感激:)
假設您的原始列表是“l”,您可以執行以下操作:
lapply(l, names)
# $a
# [1] "foo" "bar"
#
# $b
# [1] "foo" "bar"
從?names
中,您得到描述:“獲取或設置 object 名稱的函數。”
原始列表中的data.frame
的名稱由此提取,並且lapply
保留原始列表的名稱。
tidyverse
的一個選項
library(purrr)
map(l, names)
-輸出
#$a
#[1] "foo" "bar"
#$b
#[1] "foo" "bar"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.