r - 在 R 中将列名作为变量传递的问题
问题描述
我正在尝试编写一个函数,以便更轻松地创建数据框中的各种数据摘要。到目前为止,我一直以以下格式手动编写所有这些内容:
issue_summary <- df %>%
group_by(issue) %>%
summarise(mean=mean(stdng),n())
其中“问题”是数据框“df”中列的名称。为了允许我即时生成这些,而不是为数据集中的每个问题写一个,我尝试编写以下函数,但它不起作用:
iss_summary <- function(df, x) {
df %>%
group_by(x) %>%
summarise(mean=mean(stdng),n())
}
当我使用 iss_summary(df, issue) 运行它时,我得到:“错误:列x
未知”。我尝试将第 3 行更改为 group_by(paste0(x)),但运行它我得到:“paste0(x) 中的错误:找不到对象'问题'”
如果我将 paste0 版本作为 iss_summary(df, df$issue) 运行,它可以工作,但是必须以这种方式输入它很烦人,我想了解为什么会这样,但原始版本和我尝试的修复都不起作用。提前致谢!
解决方案
推荐阅读
- visual-c++ - 如何在 CWinApp::ExitInstance() 上打开模式对话框
- python - 使用正则表达式从多行字符串中找到最短的匹配项
- c# - 获取可用数量少于需要的物品
- python - Python:在 WRDS CRSP 查询中使用多个变量
- python - 仅当列具有连续编号时才对 pandas 行连续求和
- batch-file - 如何使用 PSCP 命令在 Unix 服务器中触发 shell 脚本?
- javascript - 如何在 Python 中使用 Selenium 从网页获取数据?
- python - 检查网络上设备的可用性
- node.js - 如何在 DynamoDB 中使用 getItem?
- python - ValueError:时间数据 '00:01:29:06' 与格式 '%d:%H:%M:%S' 不匹配