r - 与 numbers 和 tapply 一起使用时如何解决由"引起的错误?R,包安排
问题描述
我在 Windows 10 中使用包安排 v1.1.5 和 R v3.5.3。我想我发现了一个奇怪的错误,或者我做错了什么。
这是有效的
library(arrangements)
myDF <- data.frame(A=c("a","b","c"), B=c(2000,2000,2002))
tapply(myDF$A,myDF$B, permutations)
$`2000`
[,1] [,2]
[1,] a b
[2,] b a
Levels: a b c
$`2002`
[,1]
[1,] c
Levels: a b c
但这不起作用:
library(arrangements)
myDF <- data.frame(A=c(200,200,200), B=c(0,0,2))
tapply(myDF$A,myDF$B, permutations)
Error in FUN(X[[i]], ...) : too many results
我究竟做错了什么?
我只想生成由组 B 定义的 A 元素的排列。
结果应该与前面的示例类似,但使用数字而不是字母。
解决方案
查看文档?permutations
。请注意,第一个参数描述为
x -- 整数或向量,将被视为
n
整数;否则,将被视为v
因此,如果您传入一个数字或一个因子,该函数的行为会有所不同。如果您想从第一个示例中提取这些值,您可以直接将值传递给v=
参数。
tapply(myDF$A, myDF$B, function(x) permutations(v=x))
推荐阅读
- database - OLAP/OLTP:“在线”是什么意思?
- mysql - SQL查询根据某些条件获取转发值?(不使用窗口功能)
- javascript - Leaflet:制作一个数组以输入 Leaflet javscript 库的 L.polyLine() 方法
- python - crontab 只适用于 tmp 目录
- amazon-web-services - DynamoDB PutItem 不断覆盖以前的条目
- java - 如何实现在“z”字母后考虑“-”符号的字符串比较器
- c# - Quickfixn-FIXT1.1 和 FIX5.0 版本 MarketDataSnapshotFullRefresh 360T “标签出现不止一次”
- c# - 运行时编译不适用于 .net 核心
- c# - 使用 Graph API 将 Web 应用程序网站的访问权限仅限于特定用户
- javascript - 等待页面在硒中完全加载节点js