r - R错误:不允许多参数返回,但没有多参数
问题描述
所以我的任务是帮助我的研究实验室的 PI 提出一个简单的函数来帮助从数据框中选择两个随机值,同时忽略 NA。我们工作有价值的数据是基于自我报告的数据,所以我们有一些地方没有回答,我们得到了 NA。我们不会放弃我们的 NA,但在分析子量表期间,我们确实需要选择一些值,同时忽略 NA。
我制作了一个简单的测试数据框,并开始使用我的测试功能。我知道它不会像我需要的那样工作,但我遇到了一个奇怪的错误。这是我的代码。
rm(list = ls()) ### clear all ###
dev.off(dev.list()["RStudioGD"])
options(scipen=999)
install.package("dplylr")
install.package("magrittr")
library("magrittr")
library("dplyr")
df<- data.frame("Var1"=c(1,7,8), "Var2"=c(NA, NA, 9), "Var3"=c(2, NA,10), "Var4"=c(3,5,NA), "Var5"=c(4,7,NA))
#select columns funciton, picks two random values from data frame not containing NA
select.col <- function(x,y) ##given df x select y columns
df %>%
select_if(is.numeric) %>%
return(z)
b <- select.col(df,2)
因此,我正在尝试创建一个函数,该函数从未选择 NA 的每一行中选择第二个参数作为随机列。
我希望 b 成为一个新数据集,并由以下格式的数据组成:
1, 2
2, 7
3, 9
(基本上我的数据是在没有 NA 的情况下随机选择的……有点像基本的 x、y/输入输出表)
我遇到了这个问题,无论我如何重写这个函数,我都会得到同样的错误“不允许多参数返回”。
有什么想法或建议吗?
编辑:我修复了我希望数据外观的格式。把它想象成 CSV;所以在一列中是一个值,而在另一列中是另一个值。
解决方案
当你写
df %>%
select_if(is.numeric) %>%
return(z)
它与
return(select_if(df, is.numeric), z)
return
不接受两个参数,这就是您收到错误消息的原因。另外,请注意您的 return 语句使用 z,但 z 没有在任何地方定义。
推荐阅读
- python - 如何提取 super().__init__ 来自的类?
- google-bigquery - 有没有办法找出谷歌数据工作室仪表板从 BigQuery 消耗了多少数据?
- flutter - 面向最低版本的 Flutter 包
- reactjs - 如何将参数传递给 React 中的动态组件?
- tableau-api - 如何在 Tableau 的条形图中获取总不同计数?
- python - 如何使用键盘 onScreen 将文本插入 QLineEdit
- powerbi - 在powerbi中将数值类型2000.50转换为2000/09/30数据格式
- libgdx - 如何设置纹理过滤器
- apache-spark - spark sql 百分位数函数和 spark dataframe quantilediscretizer 之间有什么区别?
- reactjs - React:尝试选择哪种数据源和状态管理解决方案对于这种情况最有效