将一列转换为因子是可行的,但许多都不可行';t(使用dplyr)

将一列转换为因子是可行的,但许多都不可行';t(使用dplyr),r,dplyr,R,Dplyr,得到了一个巨大的数据帧,我想将字符列转换为系数: 如果我以这种方式逐列获取数据: df$column1 <- as.factor(df$column1) class(df$column1) [1] "factor" 类似的情况也发生在我身上。并不是真正的原因线索,但解决了转换到数据帧的问题 df <- data.frame(df) 类似的情况也发生在我身上。并不是真正的原因线索,但解决了转换到数据帧的问题 df <- data.frame(df) df我今天遇到了同样的

得到了一个巨大的数据帧,我想将字符列转换为系数:

如果我以这种方式逐列获取数据:

df$column1 <- as.factor(df$column1)

class(df$column1)
[1] "factor"

类似的情况也发生在我身上。并不是真正的原因线索,但解决了转换到数据帧的问题

df <- data.frame(df)

类似的情况也发生在我身上。并不是真正的原因线索,但解决了转换到数据帧的问题

df <- data.frame(df)

df我今天遇到了同样的问题,我想我找到了原因。你的数据帧是分组的,这就是为什么因子转换是关闭的-它是在一组一组的基础上转换向量。转换为常规的旧数据帧可以解决此问题,因为它会删除分组。所有表示无法复制问题的评论都没有使用分组数据帧


因此,如果您试图在管道中解决它,只需使用
ungroup()

我今天遇到了同样的问题,我想我找到了原因。你的数据帧是分组的,这就是为什么因子转换是关闭的-它是在一组一组的基础上转换向量。转换为常规的旧数据帧可以解决此问题,因为它会删除分组。所有表示无法复制问题的评论都没有使用分组数据帧


因此,如果您试图在管道中解决它,只需使用
ungroup()

请显示一个小的可重复示例,如果(is.character,as.factor)%%>%str#“data.frame”:5 obs,则不会收到任何带有
df%mutate_的警告。共有3个变量:$col1:Factor w/5 levels“a”、“b”、“c”、“d”…:12345$col2:Factor w/5 levels“a”、“b”、“c”、“d”…:12345$col3:num 0.01291.3046-2.3710.4848-1.0348
对我来说很好(
iris$Species%mutate\u if(is.character,as.Factor)%>%str)()
您的列可能不是字符。
str(df)的输出是什么
?由于条件问题,此处无法共享部分真实数据。此外,dataframe的长度超过400列和数千行。我使用虚拟数据进行了测试,效果良好。我试图解决的问题是警告消息。转换步骤中似乎有问题,我无法解决。使用str output更新的问题请显示a s如果(is.character,as.factor)%%>%str#“data.frame”:3个变量中的5个变量:$col1:factor w/5 levels“a”、“b”、“c”、“d”…:12 3 4 5$col2:factor w/5 levels“a”、“b”、“c”、“d”…:12 3 4$col3:num 0.0129 1.3046-2.371 0.4848-1.0348
对我来说效果很好(
iris$Species%mutate\u如果(is.character,as.factor)%%>%str()
您的列可能不是字符。
str(df)的输出是什么
?由于条件问题,此处无法共享部分真实数据。此外,dataframe的长度超过400列和数千行。我已使用虚拟数据进行了测试,效果良好。我试图解决的问题是警告消息。转换步骤中似乎有问题,我无法解决。使用str输出更新了问题
df <- data.frame(df)