我在从一组变量中提取最大值时遇到了函数max()
的问题。数据框如下,所有变量均为数字:
setosa versicolor virginica
0 0.96969697 0.03030303
0 0.05128205 0.94871795
0 0.96969697 0.03030303
1 0.00000000 0.00000000
1 0.00000000 0.00000000
0 0.05128205 0.94871795
0 0.05128205 0.94871795
0 0.05128205 0.94871795
当我对这个数据框应用 max()
函数,并尝试将其保存在一个新变量中时,会发生以下情况:
DF$max=max(DF$setosa,DF$versicolor,DF$virginica)
setosa versicolor virginica max
0 0.96969697 0.03030303 1
0 0.05128205 0.94871795 1
0 0.96969697 0.03030303 1
1 0.00000000 0.00000000 1
1 0.00000000 0.00000000 1
0 0.05128205 0.94871795 1
0 0.05128205 0.94871795 1
0 0.05128205 0.94871795 1
看起来max()
函数会将最大值四舍五入。我找不到我的错误,你能帮我看看错在哪里吗?谢谢。
do.call(pmax, data[c('X1','X2','X3')])
提供了一种替代方法(可能更容易扩展)。 - mnel