是什么导致 bind_rows 中出现这个神秘的错误消息?

时间:2021-04-08 10:04:50

标签: r dplyr

我有下面提到的数据框,我正在尝试将其与另一个数据框绑定

X_df
   1  2
1 18 NA
2  3 NA
3  6 NA
4  8  8

y_df
 1  2 
35  8 

y_df 实际上是 x 中每一列的总和。我一直在尝试使用 bind_rows 绑定这两个数据帧。它向我显示以下错误。我能得到一些关于如何纠正它的建议吗?我对 R 比较陌生

*Error in (function (cond)  : 
  error in evaluating the argument 'x' in selecting a method for function 'as.data.frame': Can't combine `..1$1` <table> and `..2$1` <double>*

提前致谢

3 个答案:

答案 0 :(得分:0)

我尝试使用您提到的相同函数 bind_rows 运行:

x_df
  X1 X2
1 18 NA
2  3 NA
3  6 NA
4  8  8
y_df
  X1 X2
1 35  8
x_df %>% bind_rows(y_df)
  X1 X2
1 18 NA
2  3 NA
3  6 NA
4  8  8
5 35  8

另一种方法:

x_df %>% bind_rows(x_df %>% summarise(across(everything(), ~ sum(., na.rm = TRUE))))
  X1 X2
1 18 NA
2  3 NA
3  6 NA
4  8  8
5 35  8

答案 1 :(得分:0)

我建议不要使用 y_df 来计算总数,而是使用 janitor::adorn_totals() 之类的东西来实际计算列的总数。

library(janitor)
library(tidyverse)
X_df %>%
  tibble::rowid_to_column() %>%
  janitor::adorn_totals(where = "row")

#    id X1 X2
#     1 18 NA
#     2  3 NA
#     3  6 NA
#     4  8  8
# Total 35  8

答案 2 :(得分:0)

尝试使用 rbind :

result <- rbind(X_df, y_df)