【发布时间】:2018-07-20 20:27:34
【问题描述】:
我想识别数据框中的行,其中一列中的文本可以在另一列中找到。例如,在下面的数据框中,我想识别模型列包含齿轮列中的文本的行(在本例中为第 1、2、7、8、32 行)。
mydf <- cbind.data.frame(model=rownames(mtcars), gear=as.character(mtcars$gear), stringsAsFactors=F)
mydf
model gear
1 Mazda RX4 4
2 Mazda RX4 Wag 4
3 Datsun 710 4
4 Hornet 4 Drive 3
5 Hornet Sportabout 3
6 Valiant 3
7 Duster 360 3
8 Merc 240D 4
9 Merc 230 4
10 Merc 280 4
11 Merc 280C 4
12 Merc 450SE 3
13 Merc 450SL 3
14 Merc 450SLC 3
15 Cadillac Fleetwood 3
16 Lincoln Continental 3
17 Chrysler Imperial 3
18 Fiat 128 4
19 Honda Civic 4
20 Toyota Corolla 4
21 Toyota Corona 3
22 Dodge Challenger 3
23 AMC Javelin 3
24 Camaro Z28 3
25 Pontiac Firebird 3
26 Fiat X1-9 4
27 Porsche 914-2 5
28 Lotus Europa 5
29 Ford Pantera L 5
30 Ferrari Dino 5
31 Maserati Bora 5
32 Volvo 142E 4
似乎我应该能够将 grep 或 match 之类的东西与 apply 或 map 之类的东西结合使用,甚至 ifelse,但我不太明白。 (我当然可以做一个 for 循环,但我有几百万行数据,我不想这样做。)
【问题讨论】:
-
您是否尝试过使用
awk?