在 R 中使用 apply() 时出现未使用参数错误

2024-05-22

当我尝试对日期列使用 apply() 条件以返回一组系数时,收到错误消息。

我有一个数据集(为简单起见,此处进行了修改,但可重现):

ADataset <- data.table(Epoch = c("2007-11-15", "2007-11-16", "2007-11-17", 
                       "2007-11-18", "2007-11-19", "2007-11-20", "2007-11-21"),
                       Distance = c("92336.22", "92336.23", "92336.22", "92336.20",
                       "92336.19", "92336.21", "92336.18))
ADataset
        Epoch Distance
1: 2007-11-15 92336.22
2: 2007-11-16 92336.23
3: 2007-11-17 92336.22
4: 2007-11-18 92336.20
5: 2007-11-19 92336.19
6: 2007-11-20 92336.21
7: 2007-11-21 92336.18

分析从确定开始和结束日期开始:

############## Establish dates for analysis
#4.Set date for center of duration
StartDate <- "2007-11-18"
as.numeric(as.Date(StartDate)); StartDate
EndDate <- as.Date(tail(Adataset$Epoch,1)); EndDate

然后我确定分析的持续时间:

#5.Quantify duration of time window
STDuration <-  1
LTDuration  <- 3

然后我编写函数来在两个持续时间内进行回归并返回斜率:

# Write STS and LTS functions, each with following steps
#6.Define time window- from StartDate less ShortTermDuration to 
StartDate plus ShortTermDuration
#7.Define Short Term & Long Term datasets
#8. Run regression over dataset
my_STS_Function <- function (StartDate) {

  STAhead  <- as.Date(StartDate) + STDuration; STAhead
  STBehind <- as.Date(StartDate) - STDuration; STBehind
  STDataset  <- subset(Adataset, as.Date(Epoch) >= STBehind & as.Date(Epoch)<STAhead)
  STResults <- rlm( Distance ~ Epoch, data=STDataset); STResults
  STSummary <- summary( STResults ); STSummary
  # Return coefficient (Slope of regression)
  STNum <- STResults$coefficients[2];STNum
}
my_LTS_Function <- function (StartDate) {
  LTAhead  <- as.Date(StartDate) + LTDuration; LTAhead
  LTBehind <- as.Date(StartDate) - LTDuration; LTBehind
  LTDataset  <- subset(Adataset, as.Date(Epoch) >= LTBehind & as.Date(Epoch)<LTAhead)
  LTResults <- rlm( Distance ~ Epoch, data=LTDataset); LTResults
  LTSummary <- summary( LTResults ); LTSummary
  # Return coefficient (Slope of regression)
  LTNum <- LTResults$coefficients[2];LTNum

然后我测试该函数以确保它适用于单个日期:

myTestResult <- my_STS_Function("2007-11-18")

它有效,因此我继续在数据集中的日期范围内应用该函数:

mySTSResult <- apply(Adataset, 1, my_STS_Function, seq(StartDate : EndDate))

...我想要的结果是 mySTSResult (斜率)的列表或数组或向量(以及随后的 myLTSResults 的单独列表/数组/向量,这样我就可以在持续时间内创建 STSlope:LTSlope 比率),某些东西就像(mySTSResults 捏造的)...

> Adataset
    Epoch Distance mySTSResults
1: 2007-11-15 92336.22            3
2: 2007-11-16 92336.23            4
3: 2007-11-17 92336.22            5
4: 2007-11-18 92336.20            6
5: 2007-11-19 92336.19            7
6: 2007-11-20 92336.21            8
7: 2007-11-21 92336.18            9

只有我收到此错误:

Error in FUN(newX[, i], ...) : unused argument(s) (1:1185)

这告诉我什么以及如何纠正它?我已经做了一些查找,但找不到更正。

希望我已经对此进行了充分的解释。如果您需要更多详细信息,请告诉我。


好吧,看来问题出在附加参数上my_STS_Function如你所述apply函数调用(因为您仅使用一个参数定义了它)。日期范围作为附加参数传递给该函数,R 抱怨它未使用(看起来是一个包含 1185 个元素的向量)。您是否想尝试提取受日期范围限制的行的子集first,然后希望应用my_STS_Function?我必须想出一个确切的解决方案。

抱歉 - 我在那里的评论中进行了锻炼。一个可能的解决方案是这样的:

subSet <- Adataset[Adataset[,1] %in% seq(StartDate:EndDate),][order(na.exclude(match(Adataset[,1], seq(StartData,EndDate))),]

改编自这个问题的答案:

R 从另一个向量中选择矩阵中的行(匹配,%in) https://stackoverflow.com/questions/17451634/r-select-rows-in-matrix-from-another-vector-match-in

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中使用 apply() 时出现未使用参数错误 的相关文章

随机推荐

  • InflateException 膨胀类 android.support.design.widget.CoordinatorLayout 时出错

    E AndroidRuntime 致命异常 main 进程 com atech a business PID 30662 java lang RuntimeException 无法启动活动 ComponentInfo com atech a
  • python:正则表达式匹配文件扩展名

    您好 我正在尝试获取 url 中调用的文件的扩展名 例如 wp includes js jquery jquery js ver 1 3 2 HTTP 1 1 并获取传递到文件的查询参数 延期的最佳方式是什么 urlparse urlpar
  • MySQL 5:我的 GROUP BY 字段的顺序重要吗?

    Peeps 我的 MySQL 查询中有一些聚合 计算字段 我的 GROUP BY 子句是动态生成的 具体取决于用户在 Web 表单中选择的选项 很好奇 GROUP BY 子句中列出的字段顺序是否会对计算产生任何影响 例如 SUM AVERA
  • Python 海龟图形 - 将一只海龟带到前面

    我的程序中有两只乌龟 它们碰撞在一起时发生了动画 但我希望一只乌龟位于另一只乌龟的上方 如下所示 所以 我的问题是 我怎样才能实现这一点 是否有一行简单的代码 例如 turtle front 如果不是的话是什么 我在回复中简要讨论了这一点使
  • 使用 Google Advanced Drive 服务通过 Apps 脚本在文件夹中创建新文件

    创建新文件有四种方法 DocsList 显示为DocsList在主列表中 内置于 Apps 脚本中 DriveApp 显示为Drive在主列表中 内置于 Apps 脚本中 驱动器 API 也显示为Drive在主列表中 必须添加到 Apps
  • 没有 Gem 的 Rails 分页

    我的任务是在不使用 gem 的情况下为 Rails 项目创建 前 10 个 后 10 个 最新 和 最旧 链接 在控制器中 我可以显示表中第一组 最新的 10 项 before action set page only index def
  • 覆盖警告:RW.ROUTINE_NOT_EMITTED 的含义是什么?

    我面临以下覆盖警告 Type Parse recovery warning RW ROUTINE NOT EMITTED Classification Unclassified Severity Unspecified Action Und
  • CSS:应用于类组合的样式?

    我不确定这是否可行 但是当您想根据应用于元素的类的组合来设置元素的样式时 是否可以在 CSS 中使用语法 我知道我可以使用 jQuery 或其他东西检查元素并根据它所具有的类更改它的样式 但是有没有一种纯 CSS 方法可以做到这一点 例如
  • 冻结/挂起 tkinter GUI 等待线程完成

    按下按钮后我的界面冻结了 我正在使用线程 但我不确定为什么仍然挂起 任何帮助将不胜感激 提前致谢 class magic def init self self mainQueue queue Queue def addItem self q
  • Laravel 检查集合是否为空

    我的 Laravel 网络应用程序中有这个 foreach mentors as mentor foreach mentor gt intern as intern tr class table row link td intern gt
  • 在 R data.table 中计算时间增量

    我有一个篮球运动员数据的数据表 其中包括每场比赛和多名球员的比赛日期 我想创建一个列来计算自上一场比赛以来的天数 我在 R 中使用 data table 包 PLAYERID GAME DATE 1 2989 2014 01 1 2 298
  • 如何使用 Retrofit 2 和 RxJava 处理分页

    我知道如何处理 Retrofit 响应 但在使用 rx java 处理来自 REST API 的分页时遇到问题 背景 我使用的其余 api 为我提供了以下响应 并在标题中提供了下一页的链接 HTTP 200 OK Allow GET HEA
  • Scala [2.11.6] 编译 Stackoverflow 错误(似乎对迄今为止发现的建议有抵抗力)

    scala版本 2 11 6 我当然尝试过clean很多次以及update 不确定是否有clean deeper刷新 jar 库 真正奇怪的是 这种情况同时发生在两台机器上 其中一台在没有执行任何特殊操作的情况下恢复了 而另一台仍然没有恢复
  • 无法使用tensorflow 2.0.0 beta1保存模型

    我已尝试了文档中描述的所有选项 但没有一个允许我将模型保存在tensorflow 2 0 0 beta1中 我还尝试升级到 也不稳定 TF2 RC 但这甚至破坏了我在测试版中工作的代码 所以我很快就回滚到测试版 请参阅下面的最小复制代码 我
  • Django:导入错误:无法导入名称接收者

    非常基本的 django 应用程序 当我尝试执行任何操作 runserver syncdb 时 它会为我提供以下内容 想法 如果我的其中一个文件有问题 您能帮我指导一下问题可能是什么吗 File Library Python 2 7 sit
  • 递归单元测试发现

    我有一个带有目录 tests 的包 我在其中存储单元测试 我的包裹看起来像 LICENSE models init py README md requirements txt tc py tests db test employee py
  • 液体标记图过滤器示例

    我可以举一个有关 Liquid 贴图过滤器如何工作的通用示例吗 似乎没有这方面的文档 映射过滤器是 映射 收集给定属性上的数组 但如何确定该属性 这个例子存在 液体模板贴图过滤器 https stackoverflow com questi
  • JQuery UI Draggable - 如何知道元素是否可拖动初始化?

    我的逻辑是 if this draginited a drag disabled element shouldn t get pass here as it is inited this draggable 我搜索了很多 找不到实现这个逻辑
  • 带有 xml 文件内容的 NuGet 恢复包 - 工作示例?

    使用的工具 Visual Studio 2015 Enterprise Nuget 3 5 NET Framework 4 0 有谁有包含一些 xml 文件和 dll 库的 NuGet 包的工作示例吗 我在很多地方读过关于此的零散注释 但我
  • 在 R 中使用 apply() 时出现未使用参数错误

    当我尝试对日期列使用 apply 条件以返回一组系数时 收到错误消息 我有一个数据集 为简单起见 此处进行了修改 但可重现 ADataset lt data table Epoch c 2007 11 15 2007 11 16 2007