我想绑定来自两个不同数据框的行,其中一个数据框包含一列哈希值,而第二个数据框不包含该列。
library(tidyverse)
library(openssl)
df <- data.frame(x = sha3(letters[1:3], size = 512),
y = 1:3)
df2 <- data.frame(y = 4:6)
df |>
bind_rows(df2)
尝试绑定行时,出现以下错误:
Error in `bind_rows()`:
! Can't combine `..1` <hash> and `..2` <vctrs:::common_class_fallback>.
Run `rlang::last_trace()` to see where the error occurred.
NA
我不知怎么就明白了这是怎么回事,因为第二个数据框不包含 x 列。但是,我预期/期望的输出是 bind_rows 仍然有效,并且只用填充 x 列df2
。
编辑:
我创建了一个小解决方法,只需将哈希列从 df 转换回字符,但我仍然好奇我是否可以首先避免错误。