【发布时间】:2020-06-27 13:49:13
【问题描述】:
我有一个包含 59 个数据框的列表,我想将它们合并在一起。不幸的是,因为我已经刮掉了很多,数据框中的列有不同的类。它们都有“名称”列,有些是因子形式,有些是字符形式。我想将它们全部更改为字符形式。我尝试了以下
dts <- c("Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida",
"Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine",
"Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska",
"Nevada","New_Hampshire","New_Jersey","New_Mexico","New_York","North_Carolina","North_Dakota",
"Ohio","Oklahoma","Oregon","Pennsylvania","Rhode_Island","South_Carolina","South_Dakota","Tennessee",
"Texas","Utah","Vermont","Virginia","Washington","West_Virginia","Wisconsin","Wyoming","Federal",
"CCJail","DC","LAJail","NOLA","NYCJail","OCJail","PhilJail","TXJail")
for(i in 1:length(dts)){
dts[i]$Name <- as.character(dts[i]$Name)
}
但它只给了我错误“错误:$ 运算符对原子向量无效”。 有谁知道一个好的解决方法?提前感谢您的帮助!
我的最终目标是跑步
dta <-dplyr::bind_rows(Alabama,Alaska,Arizona,Arkansas,California,Colorado,Connecticut,Delaware,Florida,
Georgia,Hawaii,Idaho,Illinois,Indiana,Iowa,Kansas,Kentucky,Louisiana,Maine,
Maryland,Massachusetts,Michigan,Minnesota,Mississippi,Missouri,Montana,Nebraska,
Nevada,New_Hampshire,New_Jersey,New_Mexico,New_York,North_Carolina,North_Dakota,
Ohio,Oklahoma,Oregon,Pennsylvania,Rhode_Island,South_Carolina,South_Dakota,Tennessee,
Texas,Utah,Vermont,Virginia,Washington,West_Virginia,Wisconsin,Wyoming,Federal,CCJail,
DC,LAJail,NOLA,NYCJail,OCJail,PhilJail,TXJail)
但我收到错误“错误:无法组合 ..1$Residents.Confirmed 和 ..2$Residents.Confirmed 。”每个数据框中都有大量的列,而且它们经常是不同的类。如果有人有更优雅的解决方案,我也会对此持开放态度!谢谢!
【问题讨论】:
-
您只需要更改“名称”列类还是所有列?
-
@arkun 我需要更改所有列(一些为字符,一些为数字)。谢谢!
-
不清楚。因为它也可能在每个数据集中有所不同。我添加了一个解决方案来更改所有字符然后绑定它们