r - 我的功能不起作用,但我输入的值确实
问题描述
我正在尝试创建一个函数来检查我的大型数据框中的特定值。数据集从 SAS 导入到 R 中,这似乎创建了一些独特的 NA 值。我的解决方案是使用 grep 找到这些奇怪的值来手动修复它们。我想创建一个简单地输出值的函数,以便我可以修复它们。功能如下:
not.numeric <- function(mydata,column) {unique(mydata[grep('[0-9]',mydata$column,invert=TRUE),
c('SeriesID','Reference',column)])}
很简单,它在列中搜索非数值。为了使其正常工作,列的值用“”括起来。但是,当我尝试运行该功能时:
not.numeric(df,'Depth')
没有值出现,我收到一条警告消息:未知或未初始化的列:“列”。但是当我像这样替换值时:
unique(df[grep('[0-9]',df$'Depth',invert=TRUE),c('SeriesID','Reference','Depth')])
它工作得很好。我想创建一个函数,因为我必须经常检查它并且有 100 多列要检查。有什么建议为什么该功能不起作用但代码起作用?
解决方案
推荐阅读
- mongodb - Spock:模拟 mongodb 批量更新,数组比较失败
- pine-script - 代码之间的时区转换
- java - Spring Boot 中的自签名证书和 SSL
- sql - 为什么 STATISTICS_NORECOMPUTE 会自行开启?
- ruby-on-rails - Rails gem resque-loner NameError(未初始化的常量 Resque::Plugins::UniqueJob)
- python - 在 python 中关闭异步服务器时出错
- excel - 每次使用 CommandButton_click 选择不同的单元格
- r - 使用 Reversible-Jump MCMC 贝叶斯方法在 R 中更改点包
- javascript - 如何降低画布动画的速度?
- python-3.x - 在声明 typing.NamedTuple 对象时提供额外的约束