【发布时间】:2018-04-02 11:03:22
【问题描述】:
我不知道该怎么称呼它,所以我会尝试用外行的术语来描述问题所在。我有一个仅包含 0 和 1 的数据框。因此,对于每个人,而不是拥有一个具有因子值的列(例如低价,4 个房间),我有
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21
1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0
2 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1
3 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
4 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0
如何转换 R 中的数据集,以便创建新列(#number of rooms)并将 1(在第 4 列中)的位置设置为 vhigh 值? 我需要为此做多个解释变量。 21 列代表 1000 多个观测值的 6 个变量。应该是这样的
PurchaseP. NumberofRooms ...
1. vhigh. 4
2. low. 4
3. vhigh. 1
4. vhigh. 2
这里只对前 2 个解释变量进行了处理,但基本上它会像这样重复,每个解释变量都有 3-4 个可能的因子值。
V1:V4 = 购买价格,V5:V8 = 房间数,V9:V11 = 楼层,以此类推
在我的脑海中,这样的事情可能会起作用
- 创建一个 if 语句,根据列位置为每个 1 赋予一个值,例如。如果 V4=1 中的值,则命名为“vhigh”。并为每个 Vx 执行此操作
- 然后合并每一列 V1:V4、V5:V8、V9:V11(取决于它是否有 3-4 个可能的因子/整数值),同时忽略 0 个值。
这行得通,还是有更简单的方法?在 R 中如何编码?
【问题讨论】:
标签: r data-transform