在r中的一列中对多个变量进行子集

时间:2018-03-27 13:53:04

标签: r subset

我只有R的基本知识,我希望你可以帮助我解决我的问题,这对你来说不是一个太愚蠢的问题;-)

我有一个名为“rope”的数据集。它看起来如下:

head(rope)

    X...Sound Time.real. Time.in.Video. Observations
1 5_min_blank      10:18      03:59 (2)            2
2 5_min_blank                                     NA
3     Fisch1       10:23          08:59            6
4     Fisch1                                      NA
5     Fisch1                                      NA
6     Fisch1                                      NA
  Observation.total.time Time.of.the.shark.in.the.video
1                     60                             23
2                                                    37
3                    157                             17
4                                                    46
5                                                    37
6                                                    28
  Time.of.the.shark.entering.the.video
1                                04:03
2                                04:20
3                                08:49
4                                09:06
5                                09:23
6                                10:21
  Time.of.the.shark.leaving.the.video
1                               04:26
2                               04:57
3                               09:05
4                               09:52
5                               10:00
6                               10:49
  times.the.shark.turns.to.the.speaker directional.change
1                                    1                  5
2                                    2                 11
3                                    1                  1
4                                    4                  6
5                                    3                  6
6                                    2                  7
  flap.of.the.fins..fotf. flap.of.the.fins..second corrected.fotf.s
1                      14              0,608695652        0.7777778
2                      14              0,378378378        0.5600000
3                       0                                        NA
4                      30              0,652173913        0.6818182
5                       0                        0               NA
6                      15              0,535714286        0.6521739
  Notes complete.cyrcles swims.below.b..above.a..speaker
1                      1                              NA
2                                                     NA
3                                                     NA
4                      2                              NA
5                                                     NA
6                                                     NA
  Swimming.patterns     date  X
1                 3 21.07.17 NA
2                 9 21.07.17 NA
3                NA 21.07.17 NA
4                 9 21.07.17 NA
5                 4 21.07.17 NA
6                 4 21.07.17 NA

现在我有不同的声音。第一个声音是“Fish1”,但我也有“Fish2”和“Diving”。此外,声音之间是相应的暂停,它们被称为“Fish1_pause”,“Fish2_pause”或“Diving_pause”等。 现在我想将我的数据子集化为声音数据点和“暂停”数据点。 我试过了:

sound<-subset(rope, rope$X...Sound=="Fish1"& rope$X...Sound=="Fish2")

但我根本没有数据点...如果我只输入:

sound<-subset(rope, rope$X...Sound=="Fish1")

我收到所有数据点,因为我有Fish1声音。 我现在的问题是如何获得所有声音点? 因为有了“&amp;”它不起作用...我希望你理解我的问题,你可以帮助我。

非常感谢,一切顺利

杰施

1 个答案:

答案 0 :(得分:1)

sound<-subset(rope, rope$X...Sound=="Fish1"& rope$X...Sound=="Fish2")

应替换为

sound<-subset(rope, rope$X...Sound == "Fish1" | rope$X...Sound == "Fish2")

sound<-subset(rope, rope$X...Sound %in% c("Fish1","Fish2"))

实际上,您要求X...Sound同时"Fish1""Fish2"进行观察 - 这是不可能的。