R 如何将bind_行与TIBLE一起使用?
我正在尝试使用tidyverse的bind_rows和tibble,并获得了意想不到的结果 当我将多个数据帧与R 如何将bind_行与TIBLE一起使用?,r,tidyverse,tidyr,R,Tidyverse,Tidyr,我正在尝试使用tidyverse的bind_rows和tibble,并获得了意想不到的结果 当我将多个数据帧与bind_rows组合,然后将它们转换为tible时,列名会变得混乱: library(tidyr) pred.models <- c('1.csv', '2.csv', '3.csv') prediction.slides <- list() for (modelid in pred.models){ tmp <- read.csv(modelid) tmp[
bind_rows
组合,然后将它们转换为tible
时,列名会变得混乱:
library(tidyr)
pred.models <- c('1.csv', '2.csv', '3.csv')
prediction.slides <- list()
for (modelid in pred.models){
tmp <- read.csv(modelid)
tmp[,'modelid'] <- modelid
prediction.slides[[length(prediction.slides)+1]] <- (tmp)
}
prediction.slides <- (bind_rows(prediction.slides))
typeof(prediction.slides)
# -> list
# now let's see what we got:
prediction.slides
# -> `bind_rows(prediction.slides)`$hash $class_prob $modelid
原因是
tibble()
没有做您认为它能做的事情。您需要将改为_tible()
tibble()
用于从给定的输入构建data.frames,而as_tibble()
将输入转换为您想要的tibble。您能提供一个csv文件的示例吗?@Phil请参阅UpdateWold库(tidyverse);这是一个反直觉的设计决策,但似乎解决了它!
pred.models <- c('1.csv', '2.csv', '3.csv')
prediction.slides <- list()
for (modelid in pred.models){
tmp <- read.csv(modelid)
tmp[,'modelid'] <- modelid
############################################ Changed here:
prediction.slides[[length(prediction.slides)+1]] <- tibble(tmp)
}
prediction.slides <- (bind_rows(prediction.slides))
hash,class_prob
1578d8,0.9451976000
1c7644,0.4519760001
dc7358,0.5197600012