【发布时间】:2017-07-13 06:36:37
【问题描述】:
在我从 R 导出并在 Excel 中手动添加 Segment 列之后,我有一些看起来像这样的原始数据。
将原始数据提取到 excel 中
我想用 R 编写代码,为我添加 Segment。
数据描述...
ID: Random distinct numbers
flag: Yes or No
Period: 0-12 Mths or 12-24 Mths
Spend Group: High, Medium or Low
规则...
Flag = Yes
Period = 0-12 Mths
Spend Group = High
Then Segment = G01
Flag = Yes
Period = 0-12 Mths
Spend Group = Medium
Then Segment = G02
Flag = Yes
Period = 0-12 Mths
Spend Group = Low
Then Segment = G03
Flag = Yes
Period = 12-24 Mths
Spend Group = High
Then Segment = G04
...以此类推,直到所有变量都被考虑在内
我希望代码能够在每次处理数据时识别差异,例如,标志并不总是是或否。有时每行都是是。
我总结的完整数据集如下图所示。
汇总数据
您将如何开始在 R 中编写此代码?
【问题讨论】:
-
首先,您需要将其保存为 CSV,然后将其作为带有
df <- read.csv("C:/Users/you/path_to_file/file.csv")的数据框读入 R。之后,我建议您阅读 R 教程。这是您将首先学习的内容之一 -
谢谢@rsoren。我已经拥有 R 中的所有数据,这是处理的最后一步。我不想输入规则,因为可能有比上面显示的更多的变量。理想情况下,我想为每个条件创建向量或类似的东西,并将它们用作规则的主干,例如 flag
-
你有没有尝试过?一个用户阵营可能会建议使用
dplyr管道,而其他用户则会使用data.table示例来反驳。它也可以在 R 中直接完成,可能使用ifelse或其他基于向量的操作。不过,首先,如果我们有一些数据可供使用,那么制作东西会简单得多,而且我不倾向于从图像中转录。在help/mcve 和a popular q/a 有关于制作好问题的好建议。