【发布时间】:2017-10-25 03:15:19
【问题描述】:
我有一个数据集,其中 1 列中有 142 个唯一值。作为构建预测模型的一部分,我想为该列创建虚拟变量。但是,我不是创建 142 个虚拟变量,而是首先要将与响应变量表现相似的值组合在一起。我使用的代码如下所示
round(tapply(train_data$Price,train_data$Suburb,mean),0)
这为我提供了数组中的 142 个不同元素,如果我手动查找相似值,这将非常耗时。我的输出的 sn-p 粘贴在下面:
round(tapply(train_data$Price,train_data$Suburb,mean),0)
Abbotsford Aberfeldie Airport West
1057934 1235150 707542
Albert Park Albion Alphington
1919014 547711 1188880
Altona Altona North Armadale
757866 728127 1542430
Ascot Vale Ashburton Ashwood
968702 1595275 1049184
Avondale Heights Balaclava Balwyn
792321 675133 1912896
Balwyn North Bellfield Bentleigh
1769984 798778 1282869
Bentleigh East Box Hill Braybrook
1038886 1138650 646845
Brighton Brighton East Brooklyn
1864928 1607299 542182
Brunswick Brunswick East Brunswick West
952350 874927 744986
Bulleen Burnley Burwood
1142944 1150902 1167023
Camberwell Campbellfield Canterbury
1761263 447600 2284188
Carlton Carlton North Carnegie
1062721 1436615 915587
Caulfield Caulfield East Caulfield North
981417 1099000 1055575
Caulfield South Chadstone Clifton Hill
1119571 1007909 1049742
Coburg Coburg North Collingwood
851215 770902 858415
Cremorne Docklands Doncaster
943731 937500 1210059
Eaglemont East Melbourne Elsternwick
如何编写代码,根据条件对所有值进行分组,例如平均值介于 600000-699999、700000-799999 等之间?
【问题讨论】:
-
没有全貌的数据很难回答。您应该添加reproducible example。您还应该查看
?cutR 函数,因为它可能适用于您的问题。 -
用一种简单的方式说,在上面的输出中我已经粘贴了我只想要那些平均值落在特定范围内的列值,比如 600000-700000 等等。希望我能正确解释