- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当时,我正在查看一个 Kaggle 比赛的入门 R 脚本,我看到创建了这个函数来查找所有行的总和。这是代码:
#Function to sum across rows for variables defined
psum <- function(..., na.rm = FALSE) {
rowSums(do.call(cbind, list(...)), na.rm = na.rm)
}
有人可以解释一下这个函数中发生了什么吗?
此外,这与仅使用 rowSums
有何不同?
最佳答案
其实do.call
是不需要的。它本可以(并且应该)以如下更简单的方式编写:
psum2 <- function(..., na.rm = FALSE) rowSums(cbind(...), na.rm = na.rm)
psum2(BOD, BOD)
# [1] 18.6 24.6 44.0 40.0 41.2 53.6
psum(BOD, BOD) # same
# [1] 18.6 24.6 44.0 40.0 41.2 53.6
注意:一般来说,当我们不知道有多少参数将被传递给一个函数时,我们会使用 do.call,因此我们希望将参数列表传递给函数。以下内容:
L <- list(arg1, arg2, arg3)
do.call(f, L)
等同于:
f(arg1, arg2, arg3)
但在第一种情况下,我们可以动态创建 L 以便它可以具有任意数量的参数,而第二种情况则被硬编码为三个参数。
例如这段代码可以通过改变 n(其中 n 可以是 1、2、3、...)来改变:
n <- 3
L <- lapply(1:n, function(i) i * BOD) # create list of n components
rowSums(do.call(cbind, L))
[1] 55.8 73.8 132.0 120.0 123.6 160.8
对比这段代码被硬编码为 cbind
使用 3 个参数:
rowSums(cbind(BOD, 2*BOD, 3*BOD)) # hard coded
[1] 55.8 73.8 132.0 120.0 123.6 160.8
关于r - R 中的 do.call - Kaggle 入门脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33985782/
我试图在远程 Kaggle 内核中使用 Python 模块,但是当我运行 from kaggle.competitions import nflrush 时,出现了这个错误: Could not fi
如果我想从 Kaggle notebook 切换到 Colab notebook,我可以从 Kaggle 下载 notebook,然后在 Google Colab 中打开 notebook。这样做的问
我正在尝试从 Kaggle 竞赛中下载数据 state-farm-distracted-driver-detection 数据集具有以下目录结构 |-driver_imgs_list.csv |-sa
我正在尝试使用 Kaggle API 从 kaggle 网站中提取数据。我正在使用 Ubuntu 18.04。当我输入以下命令时: kaggle competitions download -c ho
在kaggle中,当我使用CORD-19-research-challenge数据集时,出现此错误。 FileNotFoundError:[错误2]没有这样的文件或目录:'/kaggle/input/
我正在尝试使用以下命令将数据从 Kaggle 下载到 R 中。我尝试下载的数据集位于 here 。 library(httr) dataset <- GET("https://www.kaggle.c
我正在使用Kaggle Python,并且正在尝试使用OpenCV编辑图像。我只是想裁剪图像,我可以使用Matplotlib做到这一点,但我想使用OpenCv。当我执行代码时,它不会给我任何消息,并且
我正在尝试使用以下命令将数据从 Kaggle 下载到 R 中。我尝试下载的数据集位于 here 。 library(httr) dataset <- GET("https://www.kaggle.c
我试图在 kaggle 平台上读取 CSV 文件,但出现以下错误: FileNotFoundError: [Errno 2] File b'../input/Salaries.csv' does no
我正在使用 kaggle 来训练模型,训练完成后我想将训练后的模型上传到谷歌驱动器,因为我无法找到在本地下载模型的方法。我研究了使用 https://pythonhosted.org/PyDrive/
我正在尝试构建一个对猫和狗进行分类的卷积神经网络,为了训练该网络,我使用 Kaggle 作为工具,我已经上传了由 8000 个训练集和 2000 个测试集组成的所有数据集。 问题是如何从输入文件夹中获
我要安装kaggle package在我雇主的笔记本电脑上,但在他们配置的专有 pypi 镜像中不存在。 如何绕过他们的 pypi 存储库作为默认存储库? 最佳答案 您可以使用 url 直接安装: p
我正在尝试在 Kaggle 内核上使用 resnet50 预训练模型。 但是,当我运行以下代码时,发生错误并且无法下载预训练模型。我怎样才能让它工作? from keras.applications.
我正在学习本教程:http://ahmedbesbes.com/how-to-score-08134-in-titanic-kaggle-challenge.html 一切顺利,直到我到达中间部分的最
我是 ML 和 Kaggle 新手。我正在研究 Kaggle 挑战赛的解决方案。 挑战:https://www.kaggle.com/c/trackml-particle-identification
我已经用逻辑回归解决了泰坦尼克号问题,现在我想用神经网络解决这个问题。但是我的模型总是返回1,这意味着幸存。对于每个测试输入。也许我的模型有问题。我该如何解决这个问题? train_data = pd
我将这个泰坦尼克号数据集用作来自 Kaggle 的 titanic_df,我在其中创建了一个新列 titanic_df['person'] 并输入值作为子项,如果 passenger 是低于 16 岁
我正在尝试将一些数据从 kaggle 导入到笔记本中。我收到的错误是 401 unauthorized,但是我已经接受了比赛规则并且可以下载数据。 这是我正在运行的代码: from kaggle.ap
我正在使用谷歌云服务,我想下载 kaggle 数据集。我已按照标准方法进行身份验证,但仍然收到“权限被拒绝”错误 我的方法: 我试过以下方法: (一)使用pip安装kaggle (2)将kaggle.
这是我第一次尝试在 Kaggle 内核上创建一些东西。我知道 Rmd 文件很特别,因为它们上面有常规文本和代码。我读到我不能使用通常的蓝色箭头在内核上运行代码,因为它也会尝试运行常规文本,就我而言,生
我是一名优秀的程序员,十分优秀!