R Фрейм данных только с соответствующими строками - PullRequest
0 голосов
/ 04 июня 2018

Здравствуйте, я пытаюсь создать фрейм данных внутри цикла, этот фрейм данных должен иметь только совпадающие значения, я пытаюсь реализовать такую ​​логику:

names<- unique(list(data$costumers))
for (i in 1:length(names)) {
    city <- data$city where data$costumers == names[i]
    costumer <- data$costumers where data$costumers == names[i] 
    df <- data.frame(costumer,city)
} 

По сути, япытаясь создать фрейм данных для каждого уникального имени в списке, я не знаю, как сравнивать фрейм данных, я пробовал оператор if, но не смог заставить его работать.

пример входного фрейма данных будет выглядеть примерно так:

costumer     city
Joseph       WS
Edward       WS
Joseph       NY

, поэтому выходной фрейм данных будет выглядеть так:

costumer    city
Joseph      WS
Joseph      NY

, а второй выходной фрейм данных будет выглядеть так:

costumer    city
Edward      WS

В заключение я пытаюсь получить один фрейм данных для каждого уникального имени в списке, и этот фрейм данных должен содержать все строки, содержащие это имя.

1 Ответ

0 голосов
/ 04 июня 2018

вы можете использовать split:

split(data, data$customer)
$Edward
  customer city
2   Edward   WS

$Joseph
  customer city
1   Joseph   WS
3   Joseph   NY

вы можете ссылаться на кадры данных из этого списка или даже

 list2env(split(data, data$customer))

и теперь просто вызывать кадры данных по имени клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...