R Markdownファイルで使用する複数のデータ列の報告を高速化する簡単な集計関数を作成しようとしています。列名を関数dplyrに渡す方法
var1はデータのカテゴリ列、t_varはデータの四半期を表す整数、dtは完全なデータです。
summarise_data_categorical <- function(var1, t_var, dt){
print(var1)
print(t_var)
#Select the columns to aggregate
group_func <- dt %>%
select(one_of(t_var, var1)) %>%
group_by(t_var,var1)
#create simple count summary
count_table <- group_func %>%
summarise(count = n()) %>%
spread(t_var, count)
#create a frequency version of the same table...
freq <- dt %>%
select(t_var, var1) %>%
group_by(t_var,var1) %>%
summarise(count = n()) %>%
mutate(freq = round(count/sum(count),3)*100) %>%
select(-count)
#Present that table
freq_table <- freq %>%
spread(t_var, freq)
#Create the chart to do the same thing..
freq_chart <- freq %>%
ggplot()+
geom_line(mapping=aes(x=t_var, y = freq, colour=var1))
#Compile outputs as a list
results <- list(count_table, freq_table, freq_chart)
#Return list
results
}
私はフレームを持って言う:
fr <- data.frame(lets = sample(LETTERS, 100, replace=TRUE),
`quarter type` = sample(1:4, 100, replace=TRUE))
私はこのように、関数を実行した場合:
summarise_data_categorical("lets", "quarter type", fr)
初期出力が有望である:
[1] "lets"
[1] "quarter type"
(注:データを再作成しようとすると、何らかの理由で私はこれは私の元のデータには表示されませんが、主なものは、私はエラーを取得する場合)
をquarter type
、 :
Error in resolve_vars(new_groups, tbl_vars(.data)) : unknown variable to group by : t_var
は、Pythonから来た
不明な変数:LSO警告を受けます、私はまだ列を参照する方法について少し混乱しています。誰かが私が間違っていることをどのように修正できるか説明することができますか?
ではなく、完全なコードの最小限の機能を表示してください完全なコードのために働く必要があります。他人がテストするのが楽になります – akrun
@akrun、ありがとうございました。 – elksie5000