以下代码显然是错误的.有什么问题?
i <- 0.1
i <- i + 0.05
i
## [1] 0.15
if(i==0.15) cat("i equals 0.15") else cat("i does not equal 0.15")
## i does not equal 0.15
Run Code Online (Sandbox Code Playgroud) 我有一个由风向矢量组成的数据集,如下所示:
wdir <- c(296.9, 215.2, 204.8, 110.8, 287.6, 203.4, 253.1, 46.0, 298.8, 62.8, 183.4, 62.3,
44.3, 97.6, 78.6, 125.6, 116.9, 121.0, 111.2, 335.8, 287.4, 51.7, 232.6, 265.5,
269.7, 20.5, 17.0, 310.8)
Run Code Online (Sandbox Code Playgroud)
标量值以度为单位.
如何计算平均风向?
我有一个非常有趣的问题,但我宁愿没有.我必须将一个数字舍入到一个结束的数字,所以我按照这里的解决方案 它曾经工作正常,直到我发现data.table的错误
library(data.table)
options(digits = 20) # to see number representation
mround <- function (number, multiple) {
return(multiple * round(number / multiple))
}
DT = data.table(a = mround(112.3, 0.1), b = "B")
DT[a == 112.3,] # works as expected, i.e returns one row
DT[a == 112.3 & b == 'B', ] # doesn't work
Run Code Online (Sandbox Code Playgroud)
公平地说,data.frame即使第一个过滤器也不起作用.任何想法如何解决?