你好我正在尝试在循环中创建一个数据框,这个数据框应该只有匹配的值,我正在尝试实现这样的逻辑:
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
总之,我正在尝试为列表中的每个唯一名称获取单个数据框,并且该数据框应包含包含该名称的所有行。
答案 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))
现在只需按客户名称调用数据框