相关疑难解决方法(0)

使用sqldf的NA值

如果我试图得到的平均c(NA, NA, 3, 4, 5, 6, 7, 8, 9, 10)使用AVG从SQL,我得到的不是预期的6.5的5.2的值.

# prepare data and write to file
write.table(data.frame(col1 = c(NA, NA, 3:10)),
        "my.na.txt", row.names = FALSE)

mean(c(NA, NA, 3:10), na.rm = TRUE) # 6.5

my.na <- read.csv.sql("my.na.txt", sep = " ",
        sql = "SELECT AVG(col1) FROM file") # 5.2

# this is identical to
sum(3:10)/10

unlink("my.na.txt") # remove file
Run Code Online (Sandbox Code Playgroud)

这让我相信sql(df)将NA值视为零.是否可以在SQL调用中忽略(排除)NA值,因为它可以使用na.rm参数(在R中)完成?

sql r sqldf

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×1

sql ×1

sqldf ×1