У меня большой набор данных, и моя проблема заключается в следующем: у меня есть несколько записей в ячейке. Я хочу удалить дубликаты внутри ячеек, но сохранить записи строк для всех столбцов. Вот пример кода, который приведет к ситуации, аналогичной той, в которой я сейчас нахожусь:
employee <- c('John_Doe|John Doe,','PeterGynn, Peter Gynn|Peter_Gynn','Jolie Hope','John Doe,','JohnDoe,','John Doe','John Doe')
id <- c(1,2,3,4,5,6,7)
salary <- c(21000, 23400, 26800, 666604, 55, 66, 22)
startdate <- as.Date(c('2010-11-1','2008-3-25',',2007-3-14','2007-3-14|','2007-3-14','2007-3-14','2007-3-14'))
employ.data <- data.frame(employee, id, salary, startdate)
View(employ.data)
employee1<- c('John Doe','Peter Gynn','Jolie Hope',"test1 test1 test1: test1", "test2","test2","test2","test2","test2")
id1 <-c(1,2,3,4,5,6,7,8,9)
salary1 <- c(21000, 55, 66,66,66,66,66,66,66)
startdate1 <- as.Date(c('2010-11-1','2008-3-22','2007-3-14',"2007-3-14","2007-3-14","2007-3-14","2007-3-14","2007-3-14","2007-3-14"))
employ.data1 <- data.frame(employee1, id1, salary1, startdate1)
names(employ.data1)[1] <- "employee"
names(employ.data1)[2] <- "id"
names(employ.data1)[3] <- "salary"
names(employ.data1)[4] <- "startdate"
Test <- merge(employ.data, employ.data1, by="id", all = TRUE)
names(Test)
Test$employ.data.z <- paste(Test$employee.x,Test$employee.y)
Test$salary.z <- paste(Test$salary.x,Test$salary.y)
Test$startdate.z <- paste(Test$startdate.x,Test$startdate.y)
Test$employee.x <- NULL
Test$employee.y <- NULL
Test$salary.x <- NULL
Test$salary.y <- NULL
Test$startdate.x <- NULL
Test$startdate.y <- NULL
names(Test)
View(Test) #here you get an idea, what my dataset looks like right now
dput(Test) #probably unnecessary here but added it anyway just in case
Input <- Test
employee2 <- c('John Doe','Peter Gynn','Jolie Hope','John Doe','John Doe','John Doe','John Doe')
id2 <- c(1,2,3,4,5,6,7)
salary2 <- c(21000, 23400, 26800, 666604, 55, 66, 22)
startdate2 <- c('2010-11-1','2008-3-25',',2007-3-14','2007-3-14','2007-3-14','2007-3-14','2007-3-14')
employ.data2 <- data.frame(employee2, id2, salary2, startdate2)
View(employ.data2)
names(employ.data2)[1] <- "employee"
names(employ.data2)[2] <- "id"
names(employ.data2)[3] <- "salary"
names(employ.data2)[4] <- "startdate"
employee3<- c(' ',' ',' ',"test1", "test2","test2","test2","test2","test2")
id3 <-c(1,2,3,4,5,6,7,8,9)
salary3 <- c(" ", 55, 66,66,66," ",66,66,66)
startdate3 <- c(' ','2008-3-22',' '," "," "," "," "," "," ")
employ.data3 <- data.frame(employee3, id3, salary3, startdate3)
names(employ.data3)[1] <- "employee"
names(employ.data3)[2] <- "id"
names(employ.data3)[3] <- "salary"
names(employ.data3)[4] <- "startdate"
Output <- merge(employ.data2, employ.data3, by="id", all = TRUE)
View(Output)
names(Output)
Output$employ.data.z <- paste(Output$employee.x,Output$employee.y)
Output$salary.z <- paste(Output$salary.x,Output$salary.y)
Output$startdate.z <- paste(Output$startdate.x,Output$startdate.y)
Output$employee.x <- NULL
Output$employee.y <- NULL
Output$salary.x <- NULL
Output$salary.y <- NULL
Output$startdate.x <- NULL
Output$startdate.y <- NULL
View(Input) #This is an example, similar to what I get with my dataset
View(Output) #This is what I would want it to be like, if possible
В наборе данных> 1000 строк с 4 столбцами, которые в высокой степени имеют эту проблему. Поэтому ручное обращение к ним не вариант.
Я не смог найти решение для подобных проблем в камере. Весь столбец имеет похожие записи, иногда они одинаковые, иногда разные. Поэтому было бы важно, чтобы разные строки могли иметь одинаковые записи. Также есть проблемы с пунктуацией, о которых я хочу поговорить позже, так как теперь дубликаты - это большая проблема.
Есть предложения?
С уважением,