Я пытаюсь вычислить доверительные интервалы для многих строк таблицы, используя цикл for, и хотел бы, чтобы вывод был более читабельным. Вот фрагмент того, как выглядят данные.Для печати цикла и таблицы в R
QUESTION X_YEAR X_PARTNER X_CAMP X_N X_CODE1
1 Q1 2011 SCSD ITC 15 4
2 Q1 2011 SCSD Nottingham 4 1
3 Q1 2011 SCSD ALL 19 5
4 Q1 2011 CP CP1 18 4
5 Q1 2011 ALL ALL 37 9
6 Q1 2012 SCSD ITC 8 1
7 Q1 2012 SCSD Nottingham 8 2
8 Q1 2012 SCSD ALL 16 3
9 Q1 2012 CP CP1 18 2
10 Q1 2012 CP CP1 22 2
11 Q1 2012 CP ALL 40 4
Я пытаюсь распечатать доверительный интервал с включенным вопросом, годом и лагерем. Я хотел бы выход быть в виде таблицы, как этот
QUESTION YEAR CAMP X N MEAN LOWER UPPER
Q1 2011 ITC 4 15 0.26 0.07 0.55
Q1 2011 NOTTINGHAM 1 4 0.25 0.006 0.8
с первыми трех столбцами принимаются непосредственно из данных таблицы, а второй 4 извлеченного из интервала испытания доверительного я использую.
Код настоящее время я использую:
for (i in 1:26){
print(data[i,1],max.levels=0)
print(data[i,2],max.levels=0)
print(data[i,4],max.levels=0)
print(binom.confint(data[i,6],data[i,5],conf.level=0.95,methods="exact"))
}
обеспечивает вывод, что (у меня есть гораздо больше данных, чем фрагмент кода) будет слишком много времени, чтобы просеять через ...
[1] Q1
[1] 2011
[1] ITC
method x n mean lower upper
1 exact 4 15 0.2666667 0.07787155 0.5510032
[1] Q1
[1] 2011
[1] Nottingham
method x n mean lower upper
1 exact 1 4 0.25 0.006309463 0.8058796
Любые советы приветствуются!
Awesome, Ричард. Я не делаю этого для всех строк - только там, где значение столбца = Q1. То, что вы предоставили, полностью работает, но есть все равно, чтобы исправить nrow (df) только для nrow (df = q1). Я пробовал nrow (df [QUESTION == q1]), но я не думаю, что это правильный путь. –
Несомненно, просто подмножите данные с помощью 'df <- df [df $ QUESTION ==" Q1 ",]', а затем используйте 'df' в остальной части программы. Используйте другое имя, хотя вы не перезаписываете исходные данные. –
@ J.OConnell. Я обновляю свой ответ, чтобы показать, что –