Я пытаюсь разделить мои данные на новые столбцы на основе |
. Например, у меня есть это наблюдение:
fdic : Federal Deposit Insurance Corp | unbco : United Bancorp Inc Ohio
, которое я хотел бы разделить на два столбца на основе |
. Однако некоторые наблюдения не имеют разделителя, а некоторые имеют более 2 разделителей, и использование separate
из tidyr
невозможно. У меня есть следующая строка as.data.frame(do.call(rbind, strsplit(xx$CO, "\\|")))
- которая почти выполняет то, что я хочу, но повторяет наблюдения, когда отделяется.
То есть;
Первое наблюдение.
evgnl : Evogene Limited | monsan : Monsanto Company
корректно разбивается на столбцы 1 и 2, но повторяет столбец 1.
evgnl : Evogene Limited monsan : Monsanto Company evgnl : Evogene Limited
Я бы хотел, чтобы эти наблюдения имели значение NA
.
evgnl : Evogene Limited monsan : Monsanto Company NA
Данные:
structure(list(grp = c("10163", "8518", "2533", "6604", "7984",
"10689", "1911", "8092", "3091", "10878", "2193", "102", "214",
"4486", "8789", "8352", "10769", "10366", "6406", "8634"), WC = c(" 2,685 words ",
" 632 words ", " 139 words ", " 359 words ", " 3,610 words ",
" 448 words ", " 185 words ", " 2,321 words ", " 192 words ",
" 830 words ", " 803 words ", " 4,697 words ", " 4,649 words ",
" 748 words ", " 1,029 words ", " 3,125 words ", " 44 words ",
" 3,212 words ", " 1,150 words ", " 774 words "), CO = c(" evgnl : Evogene Limited | monsan : Monsanto Company ",
" codvbc : Codorus Valley Bancorp Inc ", " blycon : Blyth Inc ",
" icfcns : ICF International Inc. ", " fossil : Fossil Group Inc ",
" jpmsi : JP Morgan Securities LLC | rganus : Reinsurance Group of America Inc | cnyc : JPMorgan Chase & Co. ",
" usxmar : US Steel Corp ", "NULL", " toro : The Toro Company ",
" casms : CAS Medical Systems Inc ", " fdic : Federal Deposit Insurance Corp | unbco : United Bancorp Inc Ohio ",
" crane : Crane Co ", " pplres : PPL Corp ", " unnatf : United Natural Foods Inc ",
" intgxc : IntelGenx Technologies Corp. ", " gordmi : Gordmans Stores, Inc. | scp : Sun Capital Partners Inc ",
"NULL", " crginc : Cargill, Inc. ", "NULL", " cytmxt : CytomX Therapeutics, Inc. "
)), class = "data.frame", row.names = c(NA, -20L))