自建一个数据框,内容要求包含不同类型的、可分类的数据,例如有数值型的,有字符型的,可以按性别或者职业分类的。计算不同类别下,数值型数据的均值、方差等统计量,把这些变量组合成一个列表。根据题目要求编写r语言代码。
时间: 2024-10-13 20:05:48 浏览: 28
在R语言中,你可以创建一个自定义数据框(data frame),其中包含不同类型的数据,比如数值(numeric)和字符(character)类型。为了演示,我们可以假设有一个关于员工的信息,包括姓名(character)、年龄(numeric)、薪水(numeric)和性别(factor)以及职位(character)。以下是创建这样的数据框并计算各组统计量的步骤:
```r
# 创建数据框
df <- data.frame(
Name = c("张三", "李四", "王五", "赵六", "孙七"),
Age = c(30, 35, 40, 28, 37),
Salary = c(50000, 60000, 70000, 45000, 55000),
Gender = factor(c("男", "女", "男", "女", "男")),
Position = c("经理", "工程师", "经理", "实习生", "程序员")
)
# 按性别分组并计算数值型字段(Age和Salary)的统计量
stats_by_gender <- aggregate(cbind(Age, Salary) ~ Gender, df, FUN = function(x) c(mean = mean(x), var = var(x)))
# 将结果列转换为list形式
stats_list <- lapply(stats_by_gender[, -1], as.list)
# 结果数据框
stats_list
```
在这个例子中,`stats_by_gender`是一个数据框,包含了每个性别的平均年龄和薪水方差。然后我们使用`lapply`函数将结果数据框的每一行转换为一个列表元素,最后得到一个由列表组成的列表。
阅读全文