我如何通过在r的同一列中的某个范围内对行进行分组来替换许多行的唯一值

问题描述 投票:-1回答:1

Sample dataset picture我有一个数据集,该数据集的列名为SellerG,具有约200个唯一值,因此为了进行线性回归,我不得不将这些行值分组在一定范围内。

b=round(tapply(hg$Price,hg$SellerG,mean,na.rm=T))

我尝试计算行的平均值,并尝试将它们分组在如下所示的范围内:

1] SellerG列中的值通常介于1到200之间,具有9421行2)b中的值,即,平均值通常在50000-1500000之间,行>>

我想将它们分成值分别为1,2,3和4的范围

我尝试了这三个ifelse循环,但没有一个起作用。

在此期间遇到的错误是:1。

 hg$SellerG=ifelse((hg$SellerG>=0 & hg$SellerG<=10),1,
                      ifelse((hg$SellerG>=11 & hg$SellerG<=50),2,
                            ifelse((hg$SellerG>=51 & hg$SellerG<=200),3,4)))

    table(hg$SellerG)
     4 
  9421 

2。

  hg$SellerG=ifelse((b>=0 & b<=50000),1,
                      ifelse((b>=500001 & b<=1500000),2,
                             ifelse((b>=1550000 & b<=5000000),3,4)))

ERROR:Error in `$<-.data.frame`(`*tmp*`, SellerG, value = c(`Abercromby's` = 3,  : 
    replacement has 198 rows, data has 9421

3.

  hg$SellerG=ifelse((hg$SellerG %in% c("1":"10")),1,
                      ifelse((hg$SellerG %in% c("11":"50")),2,
                             ifelse((hg$SellerG %in% c("51":"200")),3,4)
        table(hg$SellerG)
         4 
      9421 

我想知道如何对SellerG的行进行分组。

样本数据集图片我有一个数据集,该数据集的列名为SellerG,具有约200个唯一值,因此为了进行线性回归,我必须将这些行值分组在一定范围内。 B = ROUND(...

r dplyr linear-regression
1个回答
0
投票

根据您的帖子,我想我们要按'b'而不是'SellerG'分组,这显然是一个字符串列,我们无法在其上执行数字运算。

© www.soinside.com 2019 - 2024. All rights reserved.