簡體   English   中英

從列表到R中的n個向量

[英]From list to n vectors in R

我想我的問題有兩個

我有n個數據幀的列表。 我要制作n個數據幀b1,b2,b3 ... bn,以便可以更輕松地訪問其他功能的數據。

例如,當我使用hist(log(b[[1]]$var))我會遇到各種各樣的錯誤,

但是,如果相反,我先做b1 = b[[1]] ,那么hist(log(b1))不會給我任何問題。

  1. 如何從我的n個對象的列表中創建n個數據幀b1,b2 ... bn
  2. 如果我無法使b1,b2 ... bn成為單獨的數據幀,我該如何可靠地將對象傳遞給原始b[[1]]形式的函數?

編輯版本

我想我誤會了你的問題。

如果b [[1]]確實是data.frame,則b [[1]] $ var應該不會給您帶來問題。

因此,我的直覺是列表b中的項目不是data.frame(至少其中一個不應該)。

要將對象轉換為data.frame,請使用as.data.frame。 因此,要解決您的問題,此修補程序應該可以解決問題:

for (i in seq_along(b)) {
    b[[i]] <- as.data.frame(b[[i]])
}
l <- list(df1=data.frame(a=1:5), df2=data.frame(a=6:10)) # example list
names(l) <- paste0("b", 1:length(l)) # rename df's in list to b_n
list2env(l, envir=globalenv()) # b1 and b2 are now directly addressable

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM