R 转换二进制数据
我有一个仅由0和1组成的数据帧。因此,对于每一个人,而不是有一个列的因数值(例如,低价格,4个房间),我有 如何转换R中的数据集,以便创建新列(#房间数),并为1(第4列中)的位置指定一个vhigh值? 我有多个EXPEATORY VARIBALE我需要这样做。这21列代表1000多个观测值的6个变量。应该是这样的R 转换二进制数据,r,binary,R,Binary,我有一个仅由0和1组成的数据帧。因此,对于每一个人,而不是有一个列的因数值(例如,低价格,4个房间),我有 如何转换R中的数据集,以便创建新列(#房间数),并为1(第4列中)的位置指定一个vhigh值? 我有多个EXPEATORY VARIBALE我需要这样做。这21列代表1000多个观测值的6个变量。应该是这样的 PurchaseP. NumberofRooms ... 1. vhigh. 4 2. low. 4 3.
PurchaseP. NumberofRooms ...
1. vhigh. 4
2. low. 4
3. vhigh. 1
4. vhigh. 2
这里只对前2个Epxlanatory变量进行了分析,但基本上是这样重复的,每个解释变量都有3-4个可能的因子值
V1:V4=购买价格,V5:V8=房间数量,V9:V11=楼层,依此类推
在我的脑海里,这样的事情可能会奏效
这是可行的,还是有更简单的方法?如何在R中编写此代码?以下是一种适合您的方法。我编写了一个函数,它将把data.frame、表示您感兴趣的变量之一的列(例如,购买价格存储在第1列到第4列中)以及您希望得到的级别名称作为参数。然后,该函数将返回您请求的结果。你需要写出你感兴趣的6个变量 我将模拟一些数据并说明该方法
df X1 X2 X3 X4 X5 X6 X7 X8
#> 1 0 0 0 1 1 0 0 0
#> 2 1 0 0 0 0 0 0 1
#> 3 0 0 0 1 1 0 0 0
#> 4 1 0 0 0 0 0 0 1
我们会说前四列是从v.low到v.high的购买价格,后四列是房间数量(1:4)。我们将编写一个函数,将此信息作为参数并返回结果:
rangeToCol 2低4
#>3 vhigh 1
#>4 V低4
PurchaseP. NumberofRooms ...
1. vhigh. 4
2. low. 4
3. vhigh. 1
4. vhigh. 2