gpt4 book ai didi

r - 在 R 中按类型对数据进行排序

转载 作者:行者123 更新时间:2023-12-01 13:32:44 24 4
gpt4 key购买 nike

我正在努力为如下所示的数据集编写一个函数:

identifier   age   occupation        
pers1 18 student
pers2 45 teacher
pers3 65 retired

我想做的是编写一个函数:

  1. 将我的变量分类为数值变量和因子变量
  2. 对于数值变量,给我平均值、最小值和 mx
  3. 对于因子变量,给我一个频率表
  4. 以“漂亮”的格式(数据框、向量或表格)返回点 (2) 和 (3)

到目前为止,我已经试过了:

describe<- function(x) 
{ if (is.numeric(x)) { mean <- mean(x)
min <- min(x)
max <- max(x)
d <- data.frame(mean, min, max)}
else { factor <- table(x) }
}
stats <- lapply(data, describe)

问题:我的问题是现在,“统计”是一个难以阅读和导出到 Excel 或共享的列表。我不知道如何使列表“统计信息”对读者更友好。

或者,也许有更好的方法来构建函数“describe”?

非常感谢任何关于如何解决这两个问题的想法!

最佳答案

我可能会迟到,但也许你仍然需要一个解决方案。我将您的帖子的一些评论中的答案合并到以下代码中。它假定您只有数字列和因子,并按照您指定的方式扩展到大量列:

# Just some sample data for my example, you don't need ggplot2.
library(ggplot2)
data=diamonds

# Find which columns are numeric, and which are not.
classes = sapply(data,class)
numeric = which(classes=="numeric")
non_numeric = which(classes!="numeric")

# create the summary objects
summ_numeric = summary(data[,numeric])
summ_non_numeric = summary(data[,non_numeric])

# result is easily written to csv
write.csv(summ_non_numeric,file="test.csv")

希望这对您有所帮助。

关于r - 在 R 中按类型对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45063151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com