У меня есть кадр данных, который выглядит следующим образом:данные манипуляции кадров в R
id = c("A","B","C","A","C","C")
val = c(5,4,6,7,10,99)
df = data.frame(id, val)
df
id val
A 5
B 4
C 6
A 7
C 10
C 99
Теперь я хотел бы вновь организовать id
столбец (A, B, C ...), держать их соответствующими val
, а затем добавить новый столбец newid
, начинающийся с буквы E, за которым следуют три цифры, подсчитывающие число id
в первом столбце. Код здесь:
id2 = c("A","A","B","C","C","C")
val2 = c(5,7,4,6,10,99)
newid = c("E001","E002","E001","E001","E002","E003")
df2 = data.frame(id2, val2, newid)
df2
и конечный результат:
id2 val2 newid
A 5 E001
A 7 E002
B 4 E001
C 6 E001
C 10 E002
C 99 E003
Есть ли эффективный способ сделать это?
спасибо! еще один вопрос: знаете ли вы, как я могу конкатенировать столбец newid с столбцом id? Я хочу получить столбец id sth как A: E001 A: E002 B: E001 C: E001 C: E002 C: E003. Еще раз спасибо! – alittleboy
использовать 'paste0 (id, ': E', gsub ...)' – eddi