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

在R语言中创建按数值区间分组的向量分层DataFrame

R语言实现指定分组规则的DataFrame构建

需求说明

将三个向量按以下规则分组后构建DataFrame:

  • 数值小于30 → 标记为low
  • 数值在30到50之间(含边界)→ 标记为average
  • 数值大于50 → 标记为High
    最终DataFrame以low、average、High为行名,v1、v2、v3为列名,对应位置填充符合区间的数值。

实现代码

# 定义输入向量
v1 = c(32,60,20)
v2 = c(60,10,40)
v3 = c(90,45,15)

# 定义分组规则:键为分组名,值为判断函数
group_rules <- list(
  low = function(x) x < 30,
  average = function(x) x >= 30 & x <= 50,
  High = function(x) x > 50
)

# 构建结果DataFrame
result_df <- data.frame(
  v1 = sapply(group_rules, function(rule) list(v1[rule(v1)])),
  v2 = sapply(group_rules, function(rule) list(v2[rule(v2)])),
  v3 = sapply(group_rules, function(rule) list(v3[rule(v3)]))
)

# 调整行名为分组名
rownames(result_df) <- names(group_rules)

输出结果

运行代码后得到的DataFrame如下:

v1      v2      v3
low     20      10      15
average 32      40      45
High    60      60      90

如果需要保留单元格的向量格式(例如显示为c(20)),直接打印result_df即可,此时每个单元格存储的是对应区间的数值向量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:30:59