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

R语言用tidy语法将sapply输出转dataframe并修改列名移除索引

实现方法

你可以直接用tidyverse体系的dplyr+tidyr语法一步生成目标格式,不需要先走sapply生成中间表再转换,代码如下:

library(tidyverse)

# 把df替换为你的实际数据集名
unique_count <- df %>%
  summarise(across(everything(), n_distinct)) %>%
  pivot_longer(cols = everything(), names_to = "col", values_to = "count")

如果你已经生成了行索引为原列名、计数字段为.的中间表,可以用下面的代码转换:

# 把inter_df替换为你的实际中间表名
unique_count <- inter_df %>%
  rownames_to_column(var = "col") %>%
  rename(count = ".")

效果验证

以R内置数据集mtcars为例,运行第一种方法得到的结果片段如下:

# A tibble: 11 × 2
  col   count
  <chr> <int>
1 mpg      25
2 cyl       3
3 disp     27
4 hp       22
5 drat     22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:30:01