Мое чтение этого вопроса в том, что:
- У вас есть столбец в
data.frame
(скажем, под названием «компании»), который имеет разделенный запятыми строку компаний.
- Вы хотите разбить эти значения и создать столбцы для каждой уникальной компании.
- Я понятия не имею, что вы хотите заполнить этими столбцами, поэтому я предполагаю, что вы хотите создать двоичный или «присутствующий» индикатор какого-то рода.
Если мое прочтение верно, попробуйте cSplit_e
из моего пакета "splitstackshape":
cSplit_e(mydf, "companies", ",", type = "character", mode = "binary", fill = 0)
# companies companies_BMC companies_HP companies_IBM
# 1 IBM, Oracle, Ping 0 0 1
# 2 IBM, Ping 0 0 1
# 3 HP, IBM, Nagios 0 1 1
# 4 Solarwinds, HP, Nagios 0 1 0
# 5 BMC, Solarwinds, HP, IBM, Nagios, SCOM 1 1 1
# companies_Nagios companies_Oracle companies_Ping companies_SCOM companies_Solarwinds
# 1 0 1 1 0 0
# 2 0 0 1 0 0
# 3 1 0 0 0 0
# 4 1 0 0 0 1
# 5 1 0 0 1 1
Это предполагает, что данные, которые мы начинаем с является:
mydf <- data.frame(
companies = c("IBM, Oracle, Ping",
"IBM, Ping",
"HP, IBM, Nagios",
"Solarwinds, HP, Nagios",
"BMC, Solarwinds, HP, IBM, Nagios, SCOM"))
Существует также аргумент drop
, который может быть t до TRUE
, если вы хотите удалить исходную колонку.
Недостаточно примера материала для работы с. (Это не я, это вопрос о том, что все вопросы отсутствуют без рабочих примеров.) –
Благодарим вас за рекомендацию. Я новичок в R, поэтому до сих пор не знаю достаточно, чтобы задать правильные вопросы. Я буду держать этот ум в будущем! :) –