簡體   English   中英

從多個數據框中提取具有相同名稱的列[R]

[英]Extract columns with same names from multiple data frames [R]

我正在處理大約10個具有相同列名但行數不同的數據幀。 我想創建一個具有相同名稱的所有列的列表。

所以,假設我有2個具有相同名稱的數據幀。

a<-seq(0,20,1)
b<-seq(20,40,1)
c<-seq(10,30,1)

df.abc.1<-data.frame(a,b,c)

a<-seq(20,50,1)
b<-seq(10,40,1)
c<-seq(30,60,1)

df.abc.2<-data.frame(a,b,c)

我知道我可以根據這些數據創建一個列表,例如

list(df.abc.1$a, df.abc.2$a)

但我不想輸入我的長數據框名稱和列名。

我希望做這樣的事情,

list(c(df.abc.1, df.abc.2)$a)

但是,它返回一個df.abc.1 $ a的列表

也許有可能在多個data.frames中使用grep函數? 也許一個循環可以完成這個任務?

不確定它是否更好,但也許

lapply(list(df.abc.1, df.abc.2), function(x) x$a)

對於多個專欄

lapply(list(df.abc.1, df.abc.2), function(x) x[, c("a","b")])

暫無
暫無

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

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