我想在忽略NA的同时获取X和Y列的绝对对数差
>data
X Y
40.29958 43.97335
52.89373 51.79441
NA NA
NA NA
27.10122 NA
39.14277 35.10647
32.26840 33.05149
27.38999 28.07941
我的代码:
diff <-abs(log(data$X)-log(data$Y))
错误: “日志”对因素没有意义
进行此计算时,R中是否有一种解决方法可以忽略NA?
答案 0 :(得分:0)
NA
对于所使用的功能没有问题。如果仅用NA
s计算对数,差值和绝对值,它将返回NA
。正如@rar所建议的,您的问题出在您列的结构中。似乎data$X
和data$Y
属于factor
类,无法通过log
函数求值(请参见错误消息)。您可以先将它们转换为数字,然后再将它们传递给log函数,因此:
diff <-abs(log(as.numeric(data$X))-log(as.numeric(data$Y)))
请仔细检查数据框的结构,以确认您X
和Y
确实属于factor
类:str(data)