【问题标题】:How to exclude columns with only missing values from plot loop in R如何从R中的绘图循环中排除只有缺失值的列
【发布时间】:2017-09-19 07:16:19
【问题描述】:

我有一个包含 100 多列数据的数据集,这些数据每周都会发生变化。为了测量奇数值的数据,我制作了一个循环来绘制每列数据。

invisible(lapply(colnames(Data), function(x) { 
    plot(Data[,x], main=x, type="b", xlab= 'Week', ylab='Amount')
    abline(h=1.2*(mean(Data[,x], na.rm=TRUE, trim=0.05)), col="red") 
    abline(h=.8*(mean(Data[,x], na.rm=TRUE, trim=0.05)), col="red") 
}))

由于其他不熟悉 R 的人也需要使用该脚本,所以我正在制作一个应该始终工作的脚本,即使数据在变化。每周都会刷新数据,以确保循环正常工作,例如今年年初,我需要在循环中构建一种方法来处理还没有任何数据的列。所以我的问题是,我如何构建一个只有缺失值的列不会弄乱我的脚本。

【问题讨论】:

  • 如果 is.na 值的个数等于列长,则排除它!

标签: r loops plot


【解决方案1】:

您可以先检查仅包含缺失值的列,例如:
all_missing <- sapply(colnames(Data), function(x) all(is.na(x)))
然后将它们排除在进一步的绘图功能之外
plot_data <- Data[ , -which(all_missing)]
hth

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2019-03-26
    • 2016-11-06
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    相关资源
    最近更新 更多