Я пытаюсь повторить элементы вектора a, b количество раз. Таким образом, = "abc" должна быть "aabbcc" если y = 2.
Почему не делает ни одной из следующей работы примеров кода?
sapply(a, function (x) rep(x,b))
и от plyr пакета,
aaply(a, function (x) rep(x,b))
Я знаю, что пропускаю что-то очень очевидное...
Предполагая, что a
- вектор, sapply создаст матрицу, которую нужно просто свернуть обратно в вектор:
a<-c("a","b","c")
b<-3 # Or some other number
a<-sapply(a, function (x) rep(x,b))
a<-as.vector(a)
Должен получиться следующий вывод:
"a" "a" "a" "b" "b" "b" "c" "c" "c"
a
не является вектором, вам необходимо разбить строку на отдельные символы, например
R> paste(rep(strsplit("abc","")[[1]], each=2), collapse="")
[1] "aabbcc"