Tôi có một dataframe nơi một cột có giá trị nhân bản nhưThực hiện một cột với các giá trị trùng lặp độc đáo trong một dataframe
employee <- data.frame(name = c('John', 'Joe', 'Mat', 'John', 'Joe'),
salary = c(1500, 2000, 1700, 1210, 2100),
startdate = c('2012-05-10', '2015-02-17',
'2014-09-11', '2011-11-23', '2010-10-27'))
tôi có thể nhận các yếu tố duy nhất trong cột 1 của
unique(employee$name)
Tuy nhiên, Tôi muốn tạo từng mục trong cột name
duy nhất. Nếu một cái gì đó xuất hiện lần thứ hai nối thêm _1 với nó. Nếu nó xuất hiện một lần nữa nối thêm _2 vào nó. Vì vậy, trong khung dữ liệu của nhân viên, tôi muốn thay đổi cột thứ hai thành
John
Joe
Mat
John_1
Joe_1
Có cách nào trừ vòng lặp không?
@DavidArenburg Đó là đẹp hơn nhiều. Bạn có thể xem xét việc đăng bài đó dưới dạng câu trả lời riêng biệt. Vì cột là yếu tố, 'make.unique (as.character (tên nhân viên $), sep =" _ ")' – akrun
@DavidArenburg Cảm ơn, sau đó tôi sẽ đưa nó vào bài đăng – akrun
Btw, có thể OP có một ký tự vectơ, anh ta đã mắc lỗi trong khi tạo ra ví dụ tái sản xuất của mình. –