as.data.frame()没有列名(R)

时间:2018-04-06 07:31:17

标签: r dataframe

假设我有以下列表:

result
[[1]]
 [1]  NA 104  67  NA 107  71  94  NA  NA  64

[[2]]
 [1]  NA 381  NA  NA 412  NA 287  NA  NA  NA

[[3]]
 [1] NA 38 NA NA NA NA NA NA NA NA

使用dput()

list(c(NA, 104, 67, NA, 107, 71, 94, NA, NA, 64), c(NA, 381, 
NA, NA, 412, NA, 287, NA, NA, NA), c(NA, 38, NA, NA, NA, NA, 
NA, NA, NA, NA))

<小时/> 现在我想将此列表转换为dataframe

df <- as.data.frame(do.call(cbind, result), 
                    stringsAsFactors = FALSE, 
                    col.names = c('speed', 'distance', 'degrees'))

不幸的是,这不包括输出中的列名(为什么?):

df
    V1  V2 V3
1   NA  NA NA
2  104 381 38
3   67  NA NA
4   NA  NA NA
5  107 412 NA
6   71  NA NA
7   94 287 NA
8   NA  NA NA
9   NA  NA NA
10  64  NA NA

2 个答案:

答案 0 :(得分:2)

结果列表没有名称,给它命名然后转换,不需要 cbind

result <- list(c(NA, 104, 67, NA, 107, 71, 94, NA, NA, 64),
               c(NA, 381, NA, NA, 412, NA, 287, NA, NA, NA),
               c(NA, 38, NA, NA, NA, NA, NA, NA, NA, NA))

df1 <- data.frame(setNames(result, c("speed", "distance", "degrees")))

head(df1)
#   speed distance degrees
# 1    NA       NA      NA
# 2   104      381      38
# 3    67       NA      NA
# 4    NA       NA      NA
# 5   107      412      NA
# 6    71       NA      NA

答案 1 :(得分:1)

ALTER TABLE `booking` ADD `feedback_id` INT(11) UNSIGNED, ADD INDEX `b_feedback_fk_idx` (`feedback_id` ASC), ADD CONSTRAINT `feedback_fk` FOREIGN KEY (`feedback_id`) REFERENCES feedback(`id`) 帮助中,似乎该函数在应用于矩阵时不使用as.data.frame参数。如果您使用col.names(原始列表)而不是result,则会获得列名称。