Посмотрите на команду paste
и, в частности, аргумент collapse
. Непонятно, что должно произойти, если / когда у вас есть разные значения для первого столбца, поэтому я не рискну догадываться. Обновите свой вопрос, если вы застряли.
dat <- data.frame(V1 = "CATA", V2 = 1:3, V3 = c(10101, 11101, 10011))
paste(dat$V3, collapse= "")
[1] "101011110110011"
Обратите внимание, что вы, возможно, захотите сначала преобразовать данные в символ, чтобы предотвратить обрезание начальных нулей.
РЕДАКТИРОВАТЬ: для адресации нескольких значений для первого столбца
Используйте функцию plyr
ddply
, которая ожидает data.frame в качестве входных данных и группирующую переменную (переменные). Затем мы используем тот же трюк paste()
, что и раньше, вместе с summarize()
.
library(plyr)
dat <- data.frame(V1 = sample(c("CATA", "CATB"), 10, TRUE)
, V2 = 1:10
, V3 = sample(0:100, 10, TRUE)
)
ddply(dat, "V1", summarize, newCol = paste(V3, collapse = ""))
V1 newCol
1 CATA 16110
2 CATB 19308974715042