R 如何将字符值分组为新值并创建新列

R 如何将字符值分组为新值并创建新列,r,R,我有一个数据框,在一个名为chairs的列中有大量分类值1-106。我想把它们分成几个区域,例如1-10个区域在1区。并根据原始值将所有这些区域放入新列中。我一直试图用dplyr来做这件事,但失败得很惨。我肯定有一个简单的解决方案我没有,所以我会把它发送给比我更有知识的人。 到目前为止我已经试过了我试过了: grouptest <- date_data oldvals <-c(c("1", "2"), c("3":"26"), c("43":"58"), c("27":"35"),

我有一个数据框,在一个名为chairs的列中有大量分类值1-106。我想把它们分成几个区域,例如1-10个区域在1区。并根据原始值将所有这些区域放入新列中。我一直试图用dplyr来做这件事,但失败得很惨。我肯定有一个简单的解决方案我没有,所以我会把它发送给比我更有知识的人。 到目前为止我已经试过了我试过了:

grouptest <- date_data
oldvals <-c(c("1", "2"), c("3":"26"), c("43":"58"), c("27":"35"), c("36":"40"), c("59":"66"), 
          c("79":"88"), c("67":"78"), c("89":"100"), c("101":"102"),  c("103":"106"))
newvals <-factor(c("1", "2", "3","4","5","6", "7", "8","9","10","11"))
grouptest$zone <- newvals[match(grouptest$seating, oldvals)]
grouptest

grouptest如果椅子列中的值实际上是整数(1:106),则可以使用
cut
将它们划分为区间。否则,您可以在因子变量的级别上使用
cut
。我认为您可能需要
newvals