R仅包含匹配行的数据框

时间:2018-06-04 19:08:48

标签: r

你好我正在尝试在循环中创建一个数据框,这个数据框应该只有匹配的值,我正在尝试实现这样的逻辑:

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 :(得分:0)

你可以使用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))

现在只需按客户名称调用数据框