跟进这篇文章:
一些背景:我正在开发一个允许用户上传 csv 文件的程序。目前,我正在测试一个如下所示的数据集:
Type Date Lively Count
sm 1/13/2010 10 10
sm 1/14/2010 10 20
sm 2/15/2010 20 30
am 4/16/2010 5 42
am 1/17/2010 10 34
am 3/18/2010 40 54
sm 1/19/2010 10 65
sm 4/20/2010 5 67
sm 3/21/2010 40 76
sm 3/21/2010 70 76
当用户导入它时,一切都很好。我的导入方法是:
dataset <- read.csv(input$file$datapath)
dataset <- na.omit(dataset)
但是,假设用户将上表保存在 Excel 中,将其保存为 csv。然后他删除了最后两列。
Type Date
sm 1/13/2010
sm 1/14/2010
sm 2/15/2010
am 4/16/2010
am 1/17/2010
am 3/18/2010
sm 1/19/2010
sm 4/20/2010
sm 3/21/2010
sm 3/21/2010
如果我查看该表的 str(),最后 2 列现在包含 NA 值,因为在 Excel 中,这些列已经被格式化。我不能接受这些 NA 值,因为它们稍后会弄乱我的程序。我想摆脱他们。我的 na.omit() 似乎对 NA 没有任何作用。
我找到了一个解决方案
dataset[is.na(dataset)] <- c("")
用空白字符替换这些列,但是当我检查上传数据集的哪些列是字符时,这可能会让我感到困惑!
有没有人有更好的解决方案(告诉用户在另一个 Excel 表中上传文件不是一种选择)?