r - 将因子列转换为具有缺失值的 Numeirc
问题描述
我有一个包含 270 列的数据框。有些列应该是数字,但它们被编码为字符串。我正在尝试将几列(R 将它们视为因子)转换为数字。因子列中也存在缺失值。
到目前为止我写的代码:
temp[, c(19:263)][is.na(temp[, c(19:263)])] <- "0"
temp[,c(19:263)] <-sapply(temp[,c(19:263)], as.numeric)
运行第一行会给我 16 个警告,并且不会将 NA 转换为 0
Warning messages:
1: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
2: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
3: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
4: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
5: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
6: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
7: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
8: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
9: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
10: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
11: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
12: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
13: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
14: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
15: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
16: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
第二个代码将所有 0 转换为 1
解决方案
您是否正在从 csv 读取数据?如果是这样,如果您指定 stringsAsFactors = F 作为 read.csv 函数的参数,它不会假定字符串是因子。
至于数字部分,您可以使用 plyr colwise 函数,您基本上使用 as.numeric 作为函数。
您可以在此处找到有关 colwise 的更多信息。希望这可以帮助!
推荐阅读
- android - 是否可以在 Android 的 BottomSheet 顶部显示一个栏
- firebase - Firebase:实时观察电子邮件验证状态
- python - python错误:需要一个整数
- c# - 将 DataGridView 导出到 excel 时遇到问题,接收 Com 错误
- maven - GWT 超级开发模式不编译最新源
- android - 'void android.view.inputmethod.InputConnection.closeConnection()' 上的 NullPointerException
- android - 获取选项卡式活动中当前选项卡的编号
- hana - 无法转换固定类型列 QUANTITY。达到最大固定类型精度
- c# - 使用 Asp.net C# 动态设置进度条样式值
- r - R - Spotify API - 延迟