You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言构建统计信息data.frame时出现行重复问题求解

问题原因

R构建data.frame时会自动循环补齐长度不一致的列:你定义的somme、produit等统计值都是长度为1的标量,只有minmax是长度为2的向量,因此其他列会自动重复1次补齐到2行,就出现了行重复的问题。

解决方法

你预期的minmax列是逗号拼接的字符串,只需要把原本长度为2的向量,通过paste()函数拼接成长度为1的字符串即可,修改后的完整代码如下:

x <- c(4, 10, 3, 30, 2, 5, 20, 12, 25, 9)

somme <- sum(x)
message("Somme: ", somme)

produit <- prod(x)
message("Produits: ", produit)

moyenne <- mean(x)
message("Moyenne: ", moyenne)

variance <- var(x)
message("Variance: ", variance)

ecart_type <- sd(x)
message("Ecart type: ", ecart_type)

minimum <- min(x)
message("Minimum: ", minimum)

maximum <- max(x)
message("Maximum: ", maximum)

# 修改此处:将两个最值拼接为长度1的字符串
minmax <- paste(minimum, maximum, sep = ",")

recap <- data.frame(somme, produit, moyenne, variance, ecart_type, minimum, maximum, minmax)
recap

运行后得到的结果和你预期一致:

somme   produit moyenne variance ecart_type minimum maximum minmax
1   120 1.944e+09      12       96   9.797959       2      30   2,30

如果后续需要直接调用minmax列的最值做数值计算,不想存为字符串,也可以用列表列的方式实现:将minmax的定义改为minmax = I(list(c(minimum, maximum))),此时data.frame只会生成1行,minmax列的每个元素都是包含两个数值的向量,只是打印时不会直接显示为2,30的格式。

内容的提问来源于stack exchange,提问作者Oussama Bouchikhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:27:02