2017-01-27 2 views
0

Я работаю на кадре данных, который я назвал «данные»R петля на фрейме данных

мне нужно вычислить средний взвешенный возраст для каждого исследования, то есть для каждой строки. Я могу использовать следующий набор функций:

weighted.mean(x=data[1,7:8],w=data[1,5:6]) weighted.mean(x=data[1,7:8],w=data[1,5:6]) weighted.mean(x=data[2,7:8],w=data[2,5:6]) weighted.mean(x=data[3,7:8],w=data[3,5:6]) weighted.mean(x=data[4,7:8],w=data[4,5:6]) weighted.mean(x=data[5,7:8],w=data[5,5:6]) weighted.mean(x=data[6,7:8],w=data[6,5:6])

Можно ли создать некий цикл, так что я не должен написать шесть команд но только один, а затем прикрепить результаты как новый столбец в моем кадре данных? Большое спасибо за вашу помощь.

+4

Несомненно, посмотрите на 'help (" for ")' или [раздел for for loop in An Introduction to R] (https://cran.r-project.org/doc/manuals/r-release /R-intro.html#Repetitive-execution). Затем попробуйте. Возможно, посмотрите на [аналогичные вопросы о переполнении стека] (http://stackoverflow.com/q/38429826/903061). Приходите сюда и задавайте вопрос, когда вы пробовали и застряли - покажите нам свой код, и мы поможем его исправить. Не приходите сюда, прежде чем пытаться найти пользовательское введение и учебник. На такие основные вопросы на самом деле невозможно ответить хорошо, не видя попытки, потому что непонятно, чего вы не знаете. – Gregor

ответ

0

Как указано в Gregor, это очень просто, и вы должны попытаться найти ответы в справочном руководстве и сотнях обучающих программ, доступных в Интернете. В любом случае, это должно помочь вам.

for(i in 1:7) { 
    weighted.mean(x=data[i,7:8],w=data[i,5:6]) 
} 

Люди обычно обсуждают вопросы без надлежащего исследования. Лучше сделайте домашнее задание в следующий раз. Всего наилучшего.

Смежные вопросы