【问题标题】:create list and generate descriptives for each variable创建列表并为每个变量生成描述
【发布时间】:2021-07-04 14:48:29
【问题描述】:

我想一次为多个变量生成描述性统计数据(接近 50 个),而不是多次写出代码。

这是一个非常基本的数据示例:

id   var1   var2
1     1      3
2     2      3
3     1      4
4     2      4 

我通常会写出每一行代码以获得频率计数和描述,如下所示:

library(psych)

table(df$var1)
table(df1$var2)
describe(df1$var1)
describe(df1$var2)

我想创建一个列表并从这些分析中获取输出,而不是写出 100 行代码。我试过了,但它不起作用:

variable_list<-list(df1$var, df2$var)

for (variable in variable_list){
table(df$variable_list))
describe(df$variable_list))}

有没有人有关于让它工作的建议?

【问题讨论】:

    标签: r list loops datatable


    【解决方案1】:

    来自psychdescribe 可以采用data.frame 并返回每列的描述性统计信息

    library(psych)
    describe(df1)
    #     vars n mean   sd median trimmed  mad min max range skew kurtosis   se
    #id      1 4  2.5 1.29    2.5     2.5 1.48   1   4     3    0    -2.08 0.65
    #var1    2 4  1.5 0.58    1.5     1.5 0.74   1   2     1    0    -2.44 0.29
    #var2    3 4  3.5 0.58    3.5     3.5 0.74   3   4     1    0    -2.44 0.29
    

    如果它是列的子集,请指定列索引或列名以选择数据集并将其子集

    describe(df1[2:3])
    

    另一个选项是descr 来自collapse

    library(collapse)
    descr(slt(df1, 2:3))
    

    或选择数字列

    descr(num_vars(df1))
    

    或者factors

    descr(fact_vars(df1))
    

    【讨论】:

    • 谢谢你,@akrun。我不想做整个df,只是几个变量。我猜你是在建议用这些变量创建一个新的 df?
    • 这很容易做到。
    猜你喜欢
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多