Я пытаюсь написать простую функцию для суммирования некоторых данных. Я построил функцию с 4 аргументами, чтобы подмножить основную таблицу на основе некоторых категорий. Проблема заключается в том, что когда я запускаю функцию с аргументами, которые подмножают мои данные (объединяются), я не вижу напечатанных сводных статистических данных или таблиц подмножеств. В основном код работает только до строки: return (tabel_masive_global).Возвращает подмножество данных в функции R
Вот код. Благодарю.
> #Functie tabel avansat
fct_tab_av <- function(baza, unitate){
#Incarcare pachete necesare
library(plyr)
library(xlsx)
#Sumarizarea pe toti peretiii
print("---------------------------------------------------------------------------------------------")
print("#Sumarizare pentru toti peretii")
print(summary(baza))
#Tabel statistic global pe masive
print("---------------------------------------------------------------------------------------------")
print("#Tabel statistic global pe masive")
tabel_masive_global <- ddply(baza,~Masiv, summarise, Nr_Pereti=length(Masiv),S_tot = sum(Suprafata), S_med=mean(Suprafata), H_med = mean(Inaltimea), Pa_med=mean(Panta), Alt_med=mean(Altitudinea), SD_Suprafata=sd(Suprafata), SD_Inaltimea=sd(Inaltimea), SD_Panta=sd(Panta), SD_Altitudinea=sd(Altitudinea))
return(tabel_masive_global)
#Subset pe unitate
subs_unitate <- subset(baza, Unitate=="unitate")
return(subs_unitate)
#Sumarizare pe unitate
print("---------------------------------------------------------------------------------------------")
print("#Sumarizare pe unitate")
print(summary(subs_unitate))
#Tabel statistic pe unitate in functie de litologie
print("---------------------------------------------------------------------------------------------")
print("Tabel statistic pe unitate in functie de litologie")
tabel_unitate <- ddply(subs_unitate, ~Litologia_N, summarise, Nr_Pereti=length(Masiv), Proc_Pereti=((Nr_Pereti*100)/(nrow(x))), S_tot = sum(Suprafata), S_med=mean(Suprafata), H_med = mean(Inaltimea), Pa_med=mean(Panta), Alt_med=mean(Altitudinea), SD_Suprafata=sd(Suprafata), SD_Inaltimea=sd(Inaltimea), SD_Panta=sd(Panta), SD_Altitudinea=sd(Altitudinea))
return(tabel_unitate)
}
как только вы нажмете возврат, функция завершается. Сделайте что-то вроде возврата (a, b, c, d) в самом конце. – jeremycg
@jeremycg вы должны написать это как ответ –
Вы можете вернуть только одну вещь из функции. Если вы хотите вернуть несколько элементов, вы можете поместить их в список 'return (list (a, b, c, d))' на * конец * вашей функции. – MrFlick