我不确定该怎么称呼它,所以我将尝试用外行的方式描述问题所在。我有一个仅由 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 中编码?