2017-10-07 1 views
0

J'ai une donnée qui doit être divisée en deux ensembles tels que j'ai besoin de points de données inférieurs à 146 dans un ensemble et au-dessus de 146 dans un autre ensemble. l'ensemble de données d'origine estDivision de mes données en fonction d'une condition

dat <- c(208.3, 357.63, 238.06, 227.91, 231.79, 275.43, 241.27, 163.39, 
     160.31, 255.23, 214.74, 209.92, 160.32, 222.22, 133.8, 240.94, 
     147.46, 251.53, 165.07, 129.26, 149.4, 143.79, 249.73, 183.93, 
     252.03, 288.49, 208.29, 297.48, 208.97, 378.35, 153.96, 134.6, 
     370, 278.91, 290.48, 241.74, 224.41, 402.15, 284.57, 370.73, 
     266.67, 408.67, 164.09, 234.94, 206.94, 363.85, 208.11, 327.58, 
     213.55, 241.04, 216.4, 213.98, 276.65, 165.56, 243.86, 239.57, 
     266.16, 195.99, 185.05, 309.52, 399.34, 296.51, 192.39, 293.18, 
     212.11, 273.34, 134.18, 258.13, 221.16, 313.82, 214.37, 303.43, 
     233.79, 225.39, 211.06, 266.59, 177.92, 205.18, 190.18, 288.33, 
     207.09, 306.67, 240.01, 219.11, 195.42, 333.76, 190.28, 236.32, 
     214.03, 264.94, 228.61, 226.3, 206.24, 253.57, 233.92, 340.87, 
     217.67, 253.01, 209.19, 265.51) 
+0

bienvenue à SO. Il est beaucoup plus facile pour les autres de travailler avec les données que vous offrez si vous utilisez 'dput()' – ssp3nc3r

Répondre

1
data <- 136:156 
set1 <- data[data<146] 
set2 <- data[data>146] 
0

Si vos données est juste un vecteur (ce qui ressemble à de la ci-dessus):

# Example data 
your_data <- seq(from = 1, to = 300, by = 3) 

# Vector of data below the threshold 
below_146 <- your_data[which(your_data < 146)] 

# Vector of data above the threshold 
above_146 <- your_data[which(your_data > 146)] 

Notez que ni sous-ensemble comprendra des valeurs exactement égale 146 .

1

Vous pouvez les obtenir dans une liste:

lst <- split(dat, dat<146)