Я новичок в R, поэтому, пожалуйста, потерпите меня. Я просматриваю данные о заключении и имею переменную conviction
, которая представляет собой беспорядочную строку, которая выглядит так:
[1] "Ct. 1: Conspiracy to distribute"
[2] "Aggravated Assault"
[3] "Ct. 1: Possession of prohibited object; Ct. 2: criminal forfeiture"
[4] "Ct. 1-6: Human Trafficking; Cts. 7, 8 Unlawful contact; Ct. 11: Involuntary Servitude; Ct. 36: Smuggling"
В идеале я хочу сделать две вещи. Во-первых, я хочу разобрать Ct.
на несколько столбцов. Для первых трех строк данные будут выглядеть так:
convictions conviction_1 conviction_2
[1,] "Ct. 1: Conspiracy to distribute" "Conspiracy to distribute" NA
[2,] "Aggravated Assault" "Aggravated Assault" NA
[3,] "Ct. 1: Possession of prohibited object" "Possession of prohibited object" "criminal forfeiture"
но все становится сложно, когда я добираюсь до третьей строки, потому что я хотел бы разобрать первую часть строки (Ct. 1-6: Human Trafficking
) на 6 столбцов, а затем Ct. 7,8: Unlawful contact
еще на 2 столбца.
Вторая часть заключается в том, что затем я хочу сгенерировать переменную convictions_total
, которая будет находить наибольшее число в строке conviction
, следующей за Ct:
. для трех примеров записей, которые я включил сюда, convictions_total
будет выглядеть так:
[1] 1 2 36
Это код, который я использовал для анализа гораздо более простой строковой переменной, но я не уверен, как настроить ее для этой переменной:
cols <- data.frame(str_split_fixed(data$convictions`,",",Inf))
colnames(cols) <- paste0("conviction_",rep(1:length(cols)))
data <- cbind(data,cols)
Заранее спасибо!