edit: см. Решение внизу.
У меня проблемы с использованием результата which.max в списке.Ниже приведен пример, который воспроизводит мою проблему.
Создание фрейма данных
library(dplyr)
library(ggplot2)
library(forcats)
name <- c('A','A','A', 'A','A','A', 'A','A','A',
'B','B','B', 'B','B','B', 'B','B','B',
'C','C','C', 'C','C','C', 'C','C','C')
month = c("oct 2018", "oct 2018", "oct 2018","nov 2018", "nov 2018", "nov 2018","dec 2018", "dec 2018", "dec 2018",
"oct 2018", "oct 2018", "oct 2018","nov 2018", "nov 2018", "nov 2018","dec 2018", "dec 2018", "dec 2018" ,
"oct 2018", "oct 2018", "oct 2018","nov 2018", "nov 2018", "nov 2018","dec 2018", "dec 2018", "dec 2018" )
value <- seq(1:length(month))
df = data.frame(name, month, value)
df
Результат
name month value
A oct 2018 1
A oct 2018 2
A oct 2018 3
A nov 2018 4
A nov 2018 5
A nov 2018 6
A dec 2018 7
A dec 2018 8
A dec 2018 9
B oct 2018 10
B oct 2018 11
B oct 2018 12
B nov 2018 13
B nov 2018 14
B nov 2018 15
B dec 2018 16
B dec 2018 17
B dec 2018 18
C oct 2018 19
C oct 2018 20
C oct 2018 21
C nov 2018 22
C nov 2018 23
C nov 2018 24
C dec 2018 25
C dec 2018 26
C dec 2018 27
Извлечение названия наблюдения с наибольшим значением
memberLargestValue = df[which.max(df$value),]$name
memberLargestValue
Результат
[1] C
Levels: A B C
Слияние memberLargestValue с существующим списком
oldList = c("A", "A")
newList = c(oldList, memberLargestValue)
newList
Результат
[1] "A" "A" "3"
Я не хочу, чтобы "3" вВыше список, но я хочу вместо этого "C".Кто-нибудь знает, как я могу получить доступ к "C" в "memberLargestValue" и получить его в списке?
Решение: Изменить на тип "символов":
memberLargestValue = as.character(df[which.max(df$value),]$name)