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

如何筛选非空向量并保留其名称存入DataFrame?

解决方法

先把所有目标向量放进命名列表里保留名称,再筛选出非空元素,最后转成DataFrame即可。

具体代码实现

# 定义原始向量
att1 = 5
att2 = 4
att3 = character()
att4 = 8

# 将向量存入命名列表,保留每个向量的名称
vec_list <- list(att1 = att1, att2 = att2, att3 = att3, att4 = att4)

# 筛选长度大于0的非空向量
goodData <- vec_list[sapply(vec_list, length) > 0]

# 转换为DataFrame
scoresDf <- data.frame(goodData)

代码说明

  • 用list()创建命名列表:直接指定元素名称和对应向量,避免名称丢失
  • sapply(vec_list, length):遍历列表返回每个向量的长度,以此判断是否为空
  • 筛选后的goodData是保留原名称的子列表,直接转成DataFrame就能得到列名正确的结果

运行后scoresDf会包含att1、att2、att4三列,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:04:52