我有一个这样的数据框:
Df <- data.frame(A=c(2,3,9,12,2,5,7,1,23,4,14,8,6,11,4),B=c(1,2))
我的代码是:
#translates the column based on the counter in column B
Df %>%
mutate(B = if_else(B == 1,"A","B")) %>%
group_by(B) %>%
mutate(var = paste0("V",row_number())) %>%
pivot_wider(id_cols = B,names_from = var,values_from = A) %>%
rename(row_name = B)
#creates a new data frame
new <- Df %>%
group_by(B) %>%
mutate(var = paste0("V",values_from = A)
#extraction of the maximum value and saving in a new df
new$row_maximum = apply(new[,-1],max)
complete <- new %>% rowwise() %>% mutate(Pos = which(c_across(V1:V10) == row_maximum )[1])
fin <- matrix(sample(c(0:0),50,replace = TRUE),nrow(complete))
fin <- as.data.frame(fin)
#part to improve
tab_max <- new$row_maximum
tab_max <- as.data.frame(tab_max)
fin$V14 <- tab_max
我的问题是:有没有办法改进最后一部分?是否可以使用保存在 complete$Pos 中的位置进行最后一步?