2016-10-04 2 views
0

У меня есть кадр данных, который выглядит примерно так:Объединение двух строк в кадре данных

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 

Я был бы очень признателен, если у кого-то есть простое решение!

ответ

0

Вот идея с большим количеством склеивания, т.е.

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" 

EDIT

на основе обновленного вопроса мы можем сделать следующее,

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 
+0

Спасибо большого ! Это может быть основным вопросом, но как я могу получить от «1A = 11:14:13» до «1A» = 11:14:13? –

+0

Вы хотите, чтобы вы назначили их в свою глобальную среду? – Sotos

+0

@JulieSletten обновлено – Sotos