r - 选择 R 中的字符列,它们是数字
问题描述
我有包含多个数字和字符列(超过 1000 列)的数据集,我只想识别可以转换为数字变量的字符变量。例子:
> Df
ID var0 var1 var2 var3
1 1 10 1A a 500.2
2 2 8 2 b 400
3 3 9 7 c 603.1
4 4 2 aa4e d 700
> str(Df)
'data.frame': 4 obs. of 5 variables:
$ ID : chr "1" "2" "3" "4"
$ var0: num 10 8 9 2
$ var1: chr "1A" "2" "7" "aa4e"
$ var2: chr "a" "b" "c" "d"
$ var3: chr "500.2" "400" "603.1" "700"
这里需要的列是:ID 和 var3
提前致谢!
解决方案
如果有两个,您可以grepl
在不测试中使用。sapply
.
sapply(Df, function(x) !any(grepl("[^0-9.]", x)))
# ID var0 var1 var2 var3
# TRUE TRUE FALSE FALSE TRUE
或者:
sapply(Df, function(x) all(!is.na(as.numeric(x))))
# ID var0 var1 var2 var3
# TRUE TRUE FALSE FALSE TRUE
推荐阅读
- ssl - XAMPP SSL 证书过期 - 如何修复
- swift - 删除 NSStatusBarButton 上的苍白效果
- utf-8 - ascii表中字符的大小如何
- nginx - Nginx proxy_pass 通过 2 个服务器和自定义标头“丢失”
- swift - 具有 Unicode 组合字符的 Swift 自定义运算符
- r - 如何在R中乘以矩阵的子集
- math - 如何创建具有约束行和列的遗传算法子代的 N-Queens 问题?
- java - 如何使用数组列表的值更改矩阵的索引?
- python - ModuleNotFoundError:没有名为“的模块”
' - html - 如何使用 Apollo Server 提供 index.html 文件?