2013-06-26 5 views
0

У меня есть таблица, глядя, как следующее:Как оценивать строки на основе значений столбцов?

ID period 1 period 2 period 3 period 4 
A  4  2  25  42 
B  3  56  2  45 
C  16  1  34  67 
D  56  2   8  48 

Я хочу, чтобы проверить в R, сколько раз (Cols) в каждой строке я получаю значение ниже 10. Например, в строке AI имеет два значения ниже 10. Любые идеи ???

Я использовал квантиль значения и получили следующее:

квантиль (ст [2: 5], na.rm = TRUE), 0% 25% 50% 75% 100% 1,00 2,75 20.50 45.75 67.00

Но это не совсем то, что мне нужно; Я хочу знать, какой процент (или количество) значений ниже 10. Я попытался с помощью следующей, а также didn't работы:

предел [1] 10 v $ карапуз < -count (v, с ("ID", "period1", "period2"), wt_var = предел) `

первые несколько рядов фактических областей набора данных следующим образом:

id 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 
1 xxxlll 61 36 277 462 211 182 45 41 128 174 179 87 18 NaN NaN NaN NaN 
2 ccvvbb 281 340 592 455 496 348 422 491 408 548 596 611 570 580 530 602 614 
3 ddffgr 587 964 895 866 1120 725 547 90 NaN NaN NaN NaN NaN NaN NaN NaN NaN 
4 rrteww 257 331 320 411 442 316 334 403 355 444 522 661 508 499 520 413 494 
5 oiertw 261 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 
+4

Это довольно простой вопрос. Можете ли вы поделиться тем, что вы пробовали, где вы посмотрели и почему/как он не работал? Прямо сейчас, похоже, вы хотите, чтобы мы записали ваш код для вас. Также попробуйте сделать свой вопрос [воспроизводимым] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – Justin

+0

Это ... Я просто это понял после битвы в течение довольно долгого времени. Корри! – inestr

+0

Вперед и отправьте свой ответ здесь и примите его для потомства. – Justin

ответ

1

Я предполагаю, что я добавьте ответ в случае, если OP не делает, но в этом случае я бы использовал rowSums и логическое сравнение ...

# '-1' drops the ID column 
x <- rowSums(df[ ,-1 ] < 10) 
names(x) <- df$ID 
x 
#A B C D 
#2 2 1 2 
+0

спасибо за предложение. Он работал для exampledataset, но не для моего фактического набора данных. Я угадываю, потому что у меня есть различные значения NA x, приводит к списку NA для каждого ID. – inestr

+0

просто добавьте 'na.rm = TRUE' ...' x <- rowSums (df [, -1] <10, na.rm = TRUE) '. Пожалуйста, ознакомьтесь с документацией. –

+0

Это работало @ SimonO101, извините, если это было слишком очевидно! – inestr