【问题标题】:Explorative data analysis of multiple character vectors with same variables in RR中具有相同变量的多个字符向量的探索性数据分析
【发布时间】:2021-03-20 16:44:19
【问题描述】:

在我的数据集中,我有多个列,它们是具有相同变量集的字符向量(列)。

假设他们是“非常好”“好”“中性”“坏”“非常坏”。

现在我的目标是获得一个 data.frame 输出,它为每一列显示每个变量的数字或计数 (n)。

我试过了:

apply(df[c("Col1", "Col2", "Col3")],2, table)

这给了我一个很好的输出,作为整数向量。

问题是,如果这些向量的长度不同,我会得到一个整数列表,我无法轻易将其放入 data.frame 中以进一步处理。

有没有办法解决这个问题?

【问题讨论】:

标签: r dataframe integer


【解决方案1】:

一种方法是添加 NA 值以使每个列表元素的长度相等,例如 lukeA 的答案 here,然后将列表转换为 data.frame。在您的情况下,它看起来像这样:

# generate sample data
levels <- c("Very Good", "Good" ,"Neutral", "Bad", "Very Bad")
set.seed(3)
df <- data.frame(Col1 = sample(levels[1:3], 10, replace = TRUE),
            Col2 = sample(levels, 10, replace = TRUE),
                 Col3 = sample(levels, 10, replace = TRUE))
# get counts
list <- apply(df,2, table)

# lengthen shorter integer vectors
list <- lapply(tbl, `length<-`, max(lengths(list)))

# convert to data.frame
tbl_df <- as.data.frame(do.call(cbind, list))

tbl_df

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多