[英]How to mark all integer values to “-1” in R Studio?
R中也有数据类型工具(如SQL和其他语言),例如R中的is.numeric()
和is.integer()
。通常这些返回布尔值,但是您可以使用sub
或gsub()
来使其-1
:
example <- list(123, 321, "not numeric", as.Date("2018/01/01"))
gsub(T, -1, sapply(example, is.numeric))
[1] "-1" "-1" "FALSE" "FALSE"
另外,请注意,R中的numeric
不同于integer
。
example <- list(as.integer(123), 321, "not numeric", as.Date("2018/01/01"))
example[sapply(example, is.integer)] <- -1
example
[[1]] [1] -1 [[2]] [1] 321 [[3]] [1] "not numeric" [[4]] [1] "2018-01-01"
您可以使用as.numeric()
和as.integer()
来回转换它们。 另外,请注意,在这种情况下,R中的数据类型称为数据的一个或多个类,而R中的类型则指存储或R内部数据类型。
我认为,如果您对整数特别感兴趣,那么上面的问题就是以下内容的重复: 检查数字是否为整数
您的if条件将类似于x == round(x,0)。 如果值是整数,但不是双精度数或其他非数字类,则为TRUE。
最后,我按照以下步骤解决了这个问题。
通过使用以下脚本CustomDerivedL2AMID <-(subset(DimCombinedEnduser $ DRVDEUL2AMID,grepl('^ \\ d + $',DimCombinedEnduser $ DRVDEUL2AMID)))将所有数值捕获到单独的数据表中)库(data.table)HandleDerivedL2AMID <-data.table( CustomDerivedL2AMID)
将HandleDerivedL2AMID表结果与原始数据表进行匹配,并将所有值替换为-1。 DCE $ DRVDEUL2AMID <-替换(DCE $ DRVDEUL2AMID,DCE $ DRVDEUL2AMID%in%HandleDerivedL2AMID $ CustomDerivedL2AMID,'-1')
现在我只看到字符值。 在DRVDEUL2AMID下设置了数据的数据不再有数值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.