如何根据名称在R中分隔一组数据

如何根据名称在R中分隔一组数据,r,grouping,categories,subset,R,Grouping,Categories,Subset,我有一个csv,R中有一组车。如何设置数据,使其中一组包含三辆特定的车,而另一组是其余的车?我试过了 carA=someintervalvariable[car=="carA"] carB=someintervalvariable[car=="carB"] carC=someintervalvariable[car=="carC"] ABC=which(c("A","B","C")) others=someintervalvariable[-ABC] 及 我认为你必须提供一个可复制的例子,因为

我有一个csv,R中有一组车。如何设置数据,使其中一组包含三辆特定的车,而另一组是其余的车?我试过了

carA=someintervalvariable[car=="carA"]
carB=someintervalvariable[car=="carB"]
carC=someintervalvariable[car=="carC"]
ABC=which(c("A","B","C"))
others=someintervalvariable[-ABC]


我认为你必须提供一个可复制的例子,因为我的想法是你的问题“可能”(我打赌它确实)包括正则表达式,因此有大量的可能性

首先,请看一下这段代码,让我们知道它是否对您有用。它允许您选择所有
car_X
,其中
X
是所有字母(大写和非大写),除了从z到d的字母

cars <- c("car_A", "car_B", "car_C", "car_D", "car_E")
car1 <- grep("car_[^d-zD-Z]", cars, value = TRUE )
car1
[1] "car_A" "car_B" "car_C"

请显示几行数据和预期结果。尝试%中的
%而不是
=
您应该定义一个分类变量
数据$cargroup=0;data$cargroup[car%in%carlist[[1]]]Horace,您的问题和预期结果都无法从帖子中理解@流浪汉:如果有帮助的话,我已经添加了一个数据示例。我的问题是“汽车A、B、C的满意度比其他的高吗?”我只需要知道如何将汽车A、B、C设置为一个变量,这样我就可以将其与保存到不同变量中的D、E、F、G进行比较。看起来您的数据集是
摘要(yourdata)
的输出。回答得好。为了得到补码(car\u D和car\u E),他们可以在选择之前放置一个
-
数据[-grep(“car\u[a-cA-C]”,data[,1]),]
car         mpg         satisfaction   
 carA:1   Min.   :12.00   Min.   :0.2000  
 carB:1   1st Qu.:21.00   1st Qu.:0.3850  
 carC:1   Median :23.00   Median :0.5600  
 carD:1   Mean   :22.43   Mean   :0.5386  
 carE:1   3rd Qu.:24.50   3rd Qu.:0.7150  
 carF:1   Max.   :31.00   Max.   :0.8100  
 carG:1                                  
cars <- c("car_A", "car_B", "car_C", "car_D", "car_E")
car1 <- grep("car_[^d-zD-Z]", cars, value = TRUE )
car1
[1] "car_A" "car_B" "car_C"
values <- rnorm(5)
data <- data.frame(cars, values)
data1 <- data[grep( "car_[a-cA-C]", data[ ,1] ) , ]
> data1
   cars     values
1 car_A -1.8553913
2 car_B -0.3562586
3 car_C -0.3208530