在R中,我试图使用以下语句创建一个包含ds $ Name的最小值X的数据帧。
MinX <- as.data.frame(tapply(ds$X, ds$Name, min))
考虑这样的数据集:
ds$Name ds$X
Bob 10
Bob 9
Mary 14
Mary 7
Bob NA
ds $ Name多次包含ds $ Name的相同值(例如,Bob,Mary)(例如,有多个行,其中ds $ Name是Bob;还有其他多行,其中ds $ Name是Mary)。因此,我希望Bob记录的最小ds $ X和Mary记录的最小ds $ X. ds $ Name中没有丢失的数据。在上面的示例数据中,Bob的最小X为9,Mary的最小X为7.
变量ds $ X是一个整数,ds $ X中有一些丢失的数据。我通过ds $ Name查找ds $ X的最小值,同时忽略缺失值。
目前,某些ds $ X的结果丢失(即NA),而实际上ds $ X的最小值是一个非缺失整数。
提前谢谢。
答案 0 :(得分:3)
与其他摘要函数一样,min()
具有na.rm=
参数,您可以将其设置为TRUE以删除NA值。有关详细信息,请参阅?min
帮助页面。相反,做
MinX <- as.data.frame(tapply(ds$X, ds$Name, min, na.rm=T))