我有一个如下所示的数据框。如何在R数据帧中执行行数明细比较
SampleDF <- structure(list(FirstVal = c(100, 230, 450, 600), SecondVal = c(566,
547, 557, 250), ThirdVal = c(782, 479, 823, 178), LowerLimit = c(10,
15, 22, 50), UpperLimit = c(600, 500, 600, 500)), .Names = c("FirstVal",
"SecondVal", "ThirdVal", "LowerLimit", "UpperLimit"), row.names = c(NA,
4L), class = "data.frame")
我曾经和一个名为FirstVal, SecondVal and ThirdVal
列中的两个计算列UpperLimit and LowerLimit
。
我试图从每行中选取元素,这些元素落在下限和上限内,并丢弃超出UpperLimit的任何元素。消除后,我想找出哪些元素是其余的最大的,并将其添加到一个新的列。
此外,我希望与它一起添加列名称。我尝试通过转置我的原始数据框来完成此操作,但我在引用原始列时遇到了问题。
如何在R中执行行对比比较?
预期输出:
SampleDFNew
FirstVal SecondVal ThirdVal LowerLimit UpperLimit MaxValBelowUpperLim ColumnName
1 100 566 782 10 600 566 SecondVal
2 230 547 479 15 500 479 ThirdVal
3 450 557 823 22 600 557 SecondVal
4 600 250 178 50 500 250 SecondVal
为什么给下面的错误,如果我尝试使用的功能(有光泽的反应或简单的函数)内的上述过程? 'colnames(x_r)中的错误[apply(x_r,1,which.max)]:无效的下标类型'list'' – sunitprasad1