选择特定行中的最小列(R)

时间:2017-11-20 18:17:48

标签: r

我遇到了一些问题。我尝试在每行中提取最小值的列。让我解释一下:

Test = data.frame(Day1 = c(1,6,3,8), Day2 = c(2,5,4,9)

输出:

    Day1 Day2
1    1    2
2    6    5
3    3    4
4    8    9

我想创建第3列,选择每列的最小值(因此对于第1行,它将是1(第1天);第2行,它将是5(第2天);第3行,它将是3 (第1天)等......

谢谢,如果有人有提示!

编辑:发现它,但我现在不知道怎样才能创建一个名称最小的第4列? (对于第1行,它将是第1天;第2行将是第2天,等等......)

1 个答案:

答案 0 :(得分:1)

您可以使用以下apply来查找每行中的最小值。

Test$minimum <- apply(Test,1,which.min)

设置1参数会在which.min的每一行上运行代码Test

要获取minmum列的列名,请在colnames(Test)之前添加apply

Test$minimum_day <- colnames(Test)[apply(Test,1,which.min)]

希望这有帮助!