Как я могу вставить фрейм данных в функцию, а затем сгруппировать по группам с помощью tapply

#r #dataframe #function #statistics #envstats

#r #фрейм данных #функция #Статистика #envstats

Вопрос:

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

Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили … (все, что у меня есть внутри функции).

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

 Error in tapply(archivo, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту: Época histórica`, descriptive_statistics) : arguments must have same length

Здесь у вас есть функция и кнопка, которые я сделал:

 descriptive_statistics = function(x){  result lt;- list(  mean(x), exp(mean(log(x))), median(x), modes(x),  (range(x)[2] - range(x)[1]), var(x), sqrt(var(x)), sqrt(var(x)) / mean(x)  )  names(result) lt;- c('Aritmetic mean', 'Geometric mean', 'Median', 'Mode', 'Range', 'Variance', 'Standard deviation', 'Pearsons coefficient of variation')    result }  tapply(archivo, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту:
 Error in tapply(archivo, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту: Época histórica`, descriptive_statistics) : arguments must have same length

Здесь у вас есть функция и кнопка, которые я сделал:

Época histórica`, descriptive_statistics)

Что я мог бы улучшить свою функцию, чтобы она позволяла мне вводить фреймы данных? или что я мог бы сделать в функции tapply, чтобы она работала на меня? Кто-нибудь может мне помочь с этим? Я также принимаю другие идеи, я пробовал использовать aggregate и внутри функции сводки и тому подобное, но она не дает мне нужной статистики, такой как коэффициент Пирсона.

Заранее большое вам спасибо, приветствую

Ответ №1:

Передайте столбец фрейма данных в функции вместо полного фрейма данных. Вы не поделились своими данными, поэтому трудно дать конкретный ответ, но давайте предположим, что называется другой столбец col1 . В таком случае вы можете это сделать —

 tapply(archivo$col1, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту:
 Error in tapply(archivo, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту: Época histórica`, descriptive_statistics) : arguments must have same length

Здесь у вас есть функция и кнопка, которые я сделал:

 descriptive_statistics = function(x){  result lt;- list(  mean(x), exp(mean(log(x))), median(x), modes(x),  (range(x)[2] - range(x)[1]), var(x), sqrt(var(x)), sqrt(var(x)) / mean(x)  )  names(result) lt;- c('Aritmetic mean', 'Geometric mean', 'Median', 'Mode', 'Range', 'Variance', 'Standard deviation', 'Pearsons coefficient of variation')    result }  tapply(archivo, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту:
 Error in tapply(archivo, archivo
 #r #dataframe #function #statistics #envstats

 #r #фрейм данных #функция #Статистика #envstats

Вопрос:

Я новичок в программировании на R и создал функцию, которая возвращает мне некоторые базовые статистические данные из списка или вектора, которые мы вставляем. Проблема возникает, когда я хочу вставить фрейм данных. Фрейм данных, который я хочу вставить, содержит 2 столбца; первый относится к группе (1 или 2), а второй относится к ширине черепа в см (числовые значения). Я хотел бы взять среднее значение обеих групп отдельно, чтобы позже я мог сравнить их (1 и 2), режим, медиану, квартили ... (все, что у меня есть внутри функции). Мне пришло в голову использовать функцию, которую я создал, чтобы вставлять списки или векторы, а затем группировать меня, использовать функцию tapply, но она выдает мне ошибку с помощью консоли, вот эту: Época histórica`, descriptive_statistics) : arguments must have same length

Здесь у вас есть функция и кнопка, которые я сделал:

Época histórica`, descriptive_statistics)

Что я мог бы улучшить свою функцию, чтобы она позволяла мне вводить фреймы данных? или что я мог бы сделать в функции tapply, чтобы она работала на меня? Кто-нибудь может мне помочь с этим? Я также принимаю другие идеи, я пробовал использовать aggregate и внутри функции сводки и тому подобное, но она не дает мне нужной статистики, такой как коэффициент Пирсона.

Заранее большое вам спасибо, приветствую

Ответ №1:

Передайте столбец фрейма данных в функции вместо полного фрейма данных. Вы не поделились своими данными, поэтому трудно дать конкретный ответ, но давайте предположим, что называется другой столбец col1 . В таком случае вы можете это сделать -

Época histórica`, descriptive_statistics)

Комментарии:

1. Спасибо, я не знаю, как я не попался на это раньше