R 完全联接Can'中出错;由于不兼容的类型(整数/字符)而无法连接-有时还能工作吗?

R 完全联接Can'中出错;由于不兼容的类型(整数/字符)而无法连接-有时还能工作吗?,r,dplyr,tidyverse,R,Dplyr,Tidyverse,我有两个数据帧列表(df1和df2)。列表和数据框的类和列数相同,但它们包含的行数或数据数不同: df1.1= Col1 Col2 Col3 Col4 chr chr num num df2.1= Col1 Col2 Col3 Col4 chr chr num num 每个列表100个数据帧的etc 它们存储在我使用lappy函数的数据帧主列表(df1)中 我想将每个列表中的所有数据帧减少为一个数据帧。 为此,我使用了: reducedf1<-df1 %>% r

我有两个数据帧列表(df1和df2)。列表和数据框的类和列数相同,但它们包含的行数或数据数不同:

df1.1=

Col1 Col2 Col3 Col4

chr  chr  num  num
df2.1=

Col1 Col2 Col3 Col4

chr  chr  num  num 
每个列表100个数据帧的etc

它们存储在我使用lappy函数的数据帧主列表(df1)中

我想将每个列表中的所有数据帧减少为一个数据帧。 为此,我使用了:

reducedf1<-df1 %>% reduce (full_join);
reducedf2<-df2 %>% reduce(full_join);
为了解决这个问题,我尝试检查列表中是否有不具有相同类的数据帧,并更正它们:

testingfunction<-function(x){
col_to_change=x[,2];
class(col_to_change)<-"character";
x}

mutatedf2<-lapply(df2, testingfunction)

testingfunction我不知道为什么它发生在一个数据帧而不是另一个数据帧中,但我解决了它:

我不确定你的想法
正在做,为什么不根据错误设置
类(x[[2]])类(x[[2]])呢?问题出在Col2上…我确实看到我在语法上有一个错误-应该是col_to_change=x[,2]'class(x[[2]])
testingfunction<-function(x){
col_to_change=x[,2];
class(col_to_change)<-"character";
x}

mutatedf2<-lapply(df2, testingfunction)