Я бы предложил использовать просто
(vec <- tapply(df$Argument, df$TableName, FUN = `identity`))
# $A
# [1] 3 6
#
# $B
# [1] 4 2
#
# $C
# [1] 5
или
(dfNew <- data.frame(TableName = unique(df$TableName), Index = vec))
# TableName Index
# A A 3, 6
# B B 4, 2
# C C 5
vec
- это список (а не символ с объединенными числами) с легким доступом к names(vec)
и, например,
vec$A
# [1] 3 6
, тогда как dfNew
- это фрейм данных, второй столбец которого также является списком:
dfNew[2]
# Index
# A 3, 6
# B 4, 2
# C 5
dfNew[,2]
# [[1]]
# [1] 3 6
#
# [[2]]
# [1] 4 2
#
# [[3]]
# [1] 5
dfNew[2]["A",][[1]]
# [1] 3 6
В этом случае, однако, это не так удобночтобы достичь индексов на TableName
, поэтому я бы придерживался vec
.