簡體   English   中英

列名稱放入數據框

[英]Column names into data frame

如何創建一個包含所有環境對象(df)列名稱的數據框

例如 將此3 df作為全局環境中的所有對象。

chocolate <- data.frame(a = 1, b = 2, c = 3)
banana <- data.frame(a = 2, d = 4, c = 3)
pear <- data.frame(d = 1, e = 4)

所需的輸出

output <- data.frame(id = c("chocolate","banana", "pear"), 
                 v2 = c("a", "a", NA), 
                 v3 = c("b", NA, NA), 
                 v4 = c("c", "c", NA), 
                 v5 = c(NA, "d", "d"), 
                 v6 = c(NA, NA, "e"))
output

我們可以試試

library(data.table)
lst <- mget(paste0("df", 1:3))
setnames(rbindlist(lapply(setNames(lst, seq_along(lst)), function(x) {
         x[] <- names(x)
           x}), fill = TRUE, idcol = 'id'), 2:6,  paste0("V", 1:5))[] 
#   id V1 V2 V3 V4 V5
#1:  1  a  b  c NA NA
#2:  2  a NA  c  d NA
#3:  3 NA NA NA  d  e

暫無
暫無

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

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