如何添加具有行中值的列名的列?
How to add a column with the column-names of the value in the row?
我的问题可能表述得不太好,听起来很复杂。但我想要的很简单。
从给定的数据框 Df 我制作了一个新的数据框 Df1 其中包含 max 值来自每个单独的列。
现在我想在我的新数据框 Df1 中添加一个列,其中包含最大值所在的每一列的名称。
我为此准备了一个例子。
A <- runif(5,min = 0.1, max = 3)
B <- runif(5,min = 0.1, max = 3)
C <- runif(5,min = 0.1, max = 3)
D <- runif(5,min = 0.1, max = 3)
E <- runif(5,min = 0.1, max = 3)
F <- runif(5,min = 0.1, max = 3)
Car <- c("Audi","BMW","Mercedes","Ford","Opel")
Df<-data.frame(Car,A,B,C,D,E,F)
Df1<-Df%>%
group_by(Car)%>%
summarize(max.value = max(A,B,C,D,E,F))
Df:
Df1:
我想要的:
一个选项是
library(dplyr)
Df %>%
transmute(Car, max.value = pmax(!!! .[-1]),
rowName = names(.)[-1][max.col(.[-1])])
我的问题可能表述得不太好,听起来很复杂。但我想要的很简单。 从给定的数据框 Df 我制作了一个新的数据框 Df1 其中包含 max 值来自每个单独的列。 现在我想在我的新数据框 Df1 中添加一个列,其中包含最大值所在的每一列的名称。
我为此准备了一个例子。
A <- runif(5,min = 0.1, max = 3)
B <- runif(5,min = 0.1, max = 3)
C <- runif(5,min = 0.1, max = 3)
D <- runif(5,min = 0.1, max = 3)
E <- runif(5,min = 0.1, max = 3)
F <- runif(5,min = 0.1, max = 3)
Car <- c("Audi","BMW","Mercedes","Ford","Opel")
Df<-data.frame(Car,A,B,C,D,E,F)
Df1<-Df%>%
group_by(Car)%>%
summarize(max.value = max(A,B,C,D,E,F))
Df:
Df1:
我想要的:
一个选项是
library(dplyr)
Df %>%
transmute(Car, max.value = pmax(!!! .[-1]),
rowName = names(.)[-1][max.col(.[-1])])