可以使用tapply()
函数来实现这个要求。下面是一个示例代码:
# 创建示例数据框
data <- data.frame(
Weight = c(70, 65, 75, 80, 68, 72),
Height = c(1.75, 1.68, 1.80, 1.82, 1.70, 1.78)
)
# 使用tapply对Weight列进行分组,并计算身高的平均值和标准差
result <- tapply(data$Height, data$Weight, function(x) c(mean = mean(x), sd = sd(x)))
# 将结果转换为数据框并添加列名
result_df <- as.data.frame(result)
names(result_df) <- c("Mean Height", "Standard Deviation")
print(result_df)
在这个示例中,我们首先创建了一个包含Weight和Height两列的数据框。然后使用tapply()
函数将数据按照Weight列的值进行分组,并在每个组内计算Height列的平均值和标准差。最后,将结果转换为数据框并添加相应的列名。
执行以上代码,你将会得到一个新的数据框,其中包含按Weight分组计算得到的身高平均值和标准差。
内容由零声教学AI助手提供,问题来源于学员提问