泰坦尼克号的数据集可以从kaggle: kaggle.com/c/ Titanic /data下载。请使用train.csv或安装包'titanic‘并使用数据集titanic_train。
这是可行的
library(dplyr)
library(stringr)
titanic <- titanic %>%
mutate(Cabin_Letter = ifelse(!is.na(Cabin), str_extract(Cabin, "[A-Z]+"), 'Unknown'))
这并不完全起作用。
titanic <- titanic %>%
mutate(Cabin_Letter = factor(ifelse(!is.na(Cabin), str_extract(Cabin, "[A-Z]+"), 'Unknown')))
警告:
警告消息: 1:在mutate_impl(.data,点):不相等的因子级别:强制为字符2:在mutate_impl(.data,点):绑定字符和因子向量,强制为字符矢量3:在mutate_impl(.data,点):绑定字符和因子矢量,强制为字符矢量4:在mutate_impl(.data,点):绑定字符和因子矢量,强制为字符矢量5:在mutate_impl(.data,点):绑定字符和因子矢量,强制为字符向量6:在mutate_impl(.data,点):绑定字符和因子向量,强制为字符向量7:在mutate_impl(.data,点):绑定字符和因子向量,强制为字符向量
我该如何解决这个问题?我不想多说一句:
titanic$Cabin_letter <- factor(titanic$Cabin_letter)
发布于 2018-06-29 00:56:36
如果使用group_by()
函数对数据进行分组(grouped_df
),则会发生此问题。我就是撞上了。我的解决方案是对数据帧进行ungroup()
,然后使用as.factor()
转换为因子。
https://stackoverflow.com/questions/45960971
复制相似问题