R错误:dplyr。无法在列中自动从因子转换为整数

R错误:dplyr。无法在列中自动从因子转换为整数,r,binding,dplyr,R,Binding,Dplyr,我是新手 这是我正在使用的代码 dataframe = data.frame(listData) FBR1 = bind_rows(listData) 这是我收到的错误信息 无法在“V6”列中自动从因子转换为整数 我想保留V6变量作为一个因子。 或者,如果这是不可能的,我想知道一个有效的方法来执行此转换。这种转换确实不应该仅应用于V6,因为在数据框中有类似的列(即V6.1、V6.2到V6.250!)包含相同类型的信息(文字文本:“左”、“右”) 我还想知道如何使用bind_rows函数转换变量

我是新手

这是我正在使用的代码

dataframe = data.frame(listData)
FBR1 = bind_rows(listData)
这是我收到的错误信息

无法在“V6”列中自动从因子转换为整数

我想保留V6变量作为一个因子。 或者,如果这是不可能的,我想知道一个有效的方法来执行此转换。这种转换确实不应该仅应用于V6,因为在数据框中有类似的列(即V6.1、V6.2到V6.250!)包含相同类型的信息(文字文本:“左”、“右”)


我还想知道如何使用bind_rows函数转换变量“V1”、“V1.1”、“V1.250”中编码为“男性”、“女性”的性别信息。我开发了一个简单的示例和解决方案。我假设你想把每一列都作为一个因素。因此,我们首先剥离因子,并将所有内容转换为角色。然后可以毫无问题地使用
bind_rows()
,所有列都可以再次转换为因子,将所有不同的值保留为级别

如果只需要以这种方式处理特定列,请使用
mutate\u each()
vars
参数

库(dplyr)
#最简单的例子

df1我开发了一个最小的示例和一个解决方案。我假设你想把每一列都作为一个因素。因此,我们首先剥离因子,并将所有内容转换为角色。然后可以毫无问题地使用
bind_rows()
,所有列都可以再次转换为因子,将所有不同的值保留为级别

如果只需要以这种方式处理特定列,请使用
mutate\u each()
vars
参数

库(dplyr)
#最简单的例子

df1您应该创建一个问题,并将其包括在问题中。我们无法知道你的数据中到底有什么。包括示例输入和所需输出。您应该创建一个示例并将其包含在问题中。我们无法知道你的数据中到底有什么。包括示例输入和所需输出。另请参见
data.table::rbindlist(dfl)
另请参见
data.table::rbindlist(dfl)
library(dplyr)

# A minimal example
df1 <- data.frame(a=factor(letters), b=1:26)
df2 <- data.frame(a=1:10, b=factor(letters[1:10]))
dfl <- list(df1,df2)

# This would generate your error
# df <- bind_rows(dfl)

# This would solve it while keeping the factors
df <- dfl %>%
      lapply(function(x) mutate_each(x, funs('as.character'))) %>%
      bind_rows() %>% 
      mutate_each(funs('as.factor'))