#r #dataframe
#r #фрейм данных
Вопрос:
У меня есть фрейм данных, который выглядит примерно так:
V2 V3 V4
Case 1 1 2
Reg "A" "B" "D"
H 11 16 12
M 14 15 13
S 13 56 34
Я хотел бы объединить две строки с именами «Case» и «Reg» в одну строку с именем «ID». Я бы хотел, чтобы это выглядело так:
V2 V3 V4
ID "1A" "1B" "2D"
H 11 16 12
M 14 15 13
S 13 56 34
Я был бы очень признателен, если у кого-нибудь есть простое решение для этого!
Ответ №1:
Вот идея с большим количеством вставок, т.е.
unname(sapply(df, function(i)
paste(paste(i[1:2], collapse = ''), '=', paste(i[3:5], collapse = ':'))))
#[1] "1A = 11:14:13" "1B = 16:15:56" "2D = 12:13:34"
Редактировать
Основываясь на вашем обновленном вопросе, мы можем сделать следующее,
df1 <- rbind(paste0(df['Case',], df['Reg',]), df[3:nrow(df),])
rownames(df1)[1] <- 'ID'
df1
# V2 V3 V4
#ID 1A 1B 2D
#H 11 16 12
#M 14 15 13
#S 13 56 34
Комментарии:
1. Большое вам спасибо! Это может быть основной вопрос, но как я могу перейти от «1A = 11:14:13» к «1A» = 11:14:13?
2. Вы имеете в виду, что хотите назначить их своей глобальной среде?