如何将所有整数值标记为"-1“;在R工作室?
在R studio中,什么是等效的SQL server isnumeric函数。我正在尝试将一个SQL逻辑迁移到r studio,我有一个列,其中包含Char值和Int值,现在我只想获取Int值,并在r data.table中将它们更新为-1。请帮我解决这个问题 我将结果作为图像附加,列“A”值是当前值,我希望具有类似列B的值如何将所有整数值标记为"-1“;在R工作室?,r,rscript,R,Rscript,在R studio中,什么是等效的SQL server isnumeric函数。我正在尝试将一个SQL逻辑迁移到r studio,我有一个列,其中包含Char值和Int值,现在我只想获取Int值,并在r data.table中将它们更新为-1。请帮我解决这个问题 我将结果作为图像附加,列“A”值是当前值,我希望具有类似列B的值 我认为如果你对整数特别感兴趣,那么上面的问题是以下问题的重复: if条件类似于x==round(x,0)。如果值是整数,而不是双精度或其他非数值类,则会出现这种情况。在
我认为如果你对整数特别感兴趣,那么上面的问题是以下问题的重复:
if条件类似于x==round(x,0)。如果值是整数,而不是双精度或其他非数值类,则会出现这种情况。在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))
另外,请注意,在R中,数值
与整数
不同
example <- list(as.integer(123), 321, "not numeric", as.Date("2018/01/01"))
example[sapply(example, is.integer)] <- -1
example
您可以使用
as.numeric()
和as.integer()
来回转换它们。另外,请注意,在R中,这种意义上的数据类型指的是数据的类,而在R中的类型指的是存储或R内部数据类型。最后,我通过以下步骤解决了这个问题
CustomDerivedL2AMID欢迎来到StackOverflow!我想我在下面有一个答案给你,但是下次请按照和标签描述的代码/数据提问。请仅使用屏幕截图来显示一些固有的视觉和非平行的内容,如绘图或GUI菜单。
ifelse(is.na(as.integer(x)),x,-1)
,其中x
是您的列数据。感谢您的帮助。不幸的是,我无法解决这个问题。当我使用下面的语句“sub(T,-1,sappy(dimcombinededduser$DRVDEUL2AMID,is.numeric))”时,它将“FALSE”作为结果集,这意味着它将所有整数值视为字符。如果我将列转换为数字,它会将所有值更新为“-1”,而不是整数值。我可以在脱机状态下共享一些示例记录。当硬编码值并解析它时,同一语句工作正常,但当我在列中运行同一语句时,它不工作。有什么我需要明确检查的吗?
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"