R 验证:如何检查单个值(不是整列)是否为数字?
R validate: how to check if individual values (not the entire column) are numbers?
我正在 运行 使用 R validate 包
对我的数据框进行一些检查
我想检查我的列 Protocol Number
中的值是否真的是数字。当我使用 is.numeric 编写表达式时,我得到以下输出:
上面链接的文档说“我们看到每个规则检查一个项目,即一列数据”但这不是我想要的。我不想检查整列数据,而是检查每个单独的值。
因此,当我调用 violating() 时,我收到一条错误消息,显示不包含数字的行
Error in violating(assaydat, out) : Not all rules have record-wise output
Protocol Number
列实际上是一个字符向量,一些可能的值(在许多值中)是“1”、“2”、“3”或诸如“未完成”或“待定”之类的注释.如果有评论而不是数字,我想标记数据框中的每一行。
如何正确执行此操作?
您可以使用:
grepl("^[0-9]+$", `Protocol Number`)
它会 return 如果该列仅包含数字,则为 TRUE,否则为 FALSE。
我正在 运行 使用 R validate 包
对我的数据框进行一些检查我想检查我的列 Protocol Number
中的值是否真的是数字。当我使用 is.numeric 编写表达式时,我得到以下输出:
上面链接的文档说“我们看到每个规则检查一个项目,即一列数据”但这不是我想要的。我不想检查整列数据,而是检查每个单独的值。
因此,当我调用 violating() 时,我收到一条错误消息,显示不包含数字的行
Error in violating(assaydat, out) : Not all rules have record-wise output
Protocol Number
列实际上是一个字符向量,一些可能的值(在许多值中)是“1”、“2”、“3”或诸如“未完成”或“待定”之类的注释.如果有评论而不是数字,我想标记数据框中的每一行。
如何正确执行此操作?
您可以使用:
grepl("^[0-9]+$", `Protocol Number`)
它会 return 如果该列仅包含数字,则为 TRUE,否则为 FALSE。