У меня есть data.table
head(LocalCodes, n= 20)
Local Codes
1: Crane, Indiana 0189
2: Rutland, Vermont 0401
3: NA 5003
4: Naval Air Station Patuxent River, Maryland 5001
5: Williamsburg, Virginia 7408
6: District of Columbia, District of Columbia 0132
7: Newport, Rhode Island 1702
8: NA 1805
9: NA 5306
10: Washington DC, District of Columbia / Kansas City, Missouri 2210
11: Kansas City, Missouri 0503
12: Arlington, Virginia 0501
13: Phoenix, Arizona 0301
14: Washington DC, District of Columbia 0132
15: NA 5001
16: Collbran, Colorado 0303
17: Washington DC, District of Columbia / Norfolk, Virginia 1102
18: Minot, North Dakota 1802
19: Washington DC, District of Columbia 2005
20: Pine Knot, Kentucky 4749
Я пытаюсь использовать Good <- LocalCodes[ , list( LocalCodes$Local <- unlist( strsplit( LocalCodes$Local , " / " ) ) , by=LocalCodes$Codes)]
Разделить Local
на "/" и сохранить то же самое Codes
в новой таблице данных.
Я получаю сообщение об ошибке Error in strsplit(LocalCodes$Local, " / ") : non-character argument
Я пытался добавить as.character(LocalCodes$Local)
к Good
, чтобы избавиться от ошибки, но затем data.table работает некорректно. Он отделяет Local
, но затем Codes
не выстраиваются в очередь, потому что Local
теперь является символом.
Есть ли способ отделить Local
и сохранить Codes
на правильном Local
* * Пример тысячу двадцать-три:
Local Codes
8: NA 1805
9: NA 5306
10: Kansas City, Missouri 2210
11: Washington DC, District of Columbia 2210
12: Kansas City, Missouri 0503
13: Arlington, Virginia 0501
14: Phoenix, Arizona 0301
15: Washington DC, District of Columbia 0132
16: NA 5001
17: Collbran, Colorado 0303
18: Norfolk, Virginia 1102
19: Washington DC, District of Columbia 1102
Использование: Plyr, Dplyr, Data.Table
EDIT:
Вот вывод dput:
dput(head(LocalCodes, n= 20))
structure(list(Local = list("Crane, Indiana", "Rutland, Vermont",
"NA", "Naval Air Station Patuxent River, Maryland", "Williamsburg, Virginia",
"District of Columbia, District of Columbia", "Newport, Rhode Island",
"NA", "NA", "Washington DC, District of Columbia / Kansas City, Missouri",
"Kansas City, Missouri", "Arlington, Virginia", "Phoenix, Arizona",
"Washington DC, District of Columbia", "NA", "Collbran, Colorado",
"Washington DC, District of Columbia / Norfolk, Virginia",
"Minot, North Dakota", "Washington DC, District of Columbia",
"Pine Knot, Kentucky"), Codes = list("0189", "0401", "5003",
"5001", "7408", "0132", "1702", "1805", "5306", "2210", "0503",
"0501", "0301", "0132", "5001", "0303", "1102", "1802", "2005",
"4749")), class = c("data.table", "data.frame"), row.names = c(NA,
-20L)