R语言中将分位数计算得到的命名向量转换为指定列数据框
R实现分位数命名向量转指定结构数据框
你可以直接用R基础语法完成转换,无需加载第三方包,完整可运行代码如下:
# 生成分位数命名向量 vc <- c(1,2,5,6,7,9,12,15,18,19,27) quartiles <- quantile(vc, probs = seq(0,1,0.01)) # 按规则转换为两列数据框 result <- data.frame( quartile = as.integer(gsub("%", "", names(quartiles))), pvalues = unname(quartiles), row.names = NULL )
代码逻辑说明
names(quartiles)提取分位数结果的命名标签,即0%/1%/…/100%格式的字符串gsub("%", "", names(quartiles))批量移除所有标签里的百分号,得到纯数字文本as.integer()将纯数字文本转为整数类型,存入quartile列unname(quartiles)提取命名向量中的数值部分,丢弃名称属性后存入pvalues列row.names = NULL用于清除自动生成的行名,保证输出格式整洁
转换完成后调用head(result)即可查看前几行结果,和目标结构完全匹配:
quartile pvalues 1 0 1.0 2 1 1.1 3 2 1.2 4 3 1.3 5 4 1.5 6 5 1.6
内容的提问来源于stack exchange,提问作者Hmm
相关产品推荐
相关产品推荐

