У меня есть следующие векторы и объединенный фрейм данных, которые являются объектами, подающими на выражение ниже.using expand.grid с объектами
x <- c(1,2,3,4)
y <- c(5,6,7,8)
z <- c(9,10,11,12)
h <- data.frame(x,y,z)
D <- print ((rep (paste ("h[,3]") , nrow(h))) , quote=FALSE)
# [1] h[,3] h[,3] h[,3] h[,3]
DD <- c (print (paste ((D) , collapse=",")))
# "[1] h[,3],h[,3],h[,3],h[,3]"
DDD <- print (DD, quote = FALSE)
# However when I place DDD in expand.grid it does not work
is(DDD)
[1] "character" "vector" "data.frameRowLabels" "SuperClassMethod"
Таким образом, экспрессия expand.grid (DDD) не работает. Как я могу получить процесс, в котором я повторяю n раз элемент символа, который представляет объект, чтобы получить вектор числа повторяющихся элементов символа, который при размещении в expand.grid работает.
Точка на более эффективном коде выше, большое спасибо – Barnaby
'replicate' немного более прямое, чем' list' + 'rep'. 'expand.grid (replicate (3, h [, 3], FALSE))'. – A5C1D2H2I1M1N2O1R2T1