我有以下矩阵
FI1 FI2 YI1 YI2 BAL1 BAL2 GRO1 GRO2 EQ1 EQ2
1 0.22 0.15 0.1 0.1 0.05 0.05 0.05 0.05 0.05 0.05
2 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
3 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
4 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
5 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
6 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
现在我希望将这个矩阵重复10次并放入一个矩阵,使它看起来像这样(我只在这里显示2次)
FI1 FI2 …Run Code Online (Sandbox Code Playgroud) 你好我试图B从矩阵中的列A中减去列dat来创建一个C列(A- B):
我的意见:
A B
1 2
2 2
3 2
4 2
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
A B C
1 2 -1
2 2 0
3 2 1
4 2 2
Run Code Online (Sandbox Code Playgroud)
我试过了:dat$C <- (dat$A - dat$B)但是我得到了:## $ operator is invalid for atomic vectors错误
干杯.
作为开发我正在研究的软件包演示的一部分,我需要量化一个经典的生态食品网,如下所述.我已经检查了素食主义者,二分法和sna,但没有看到任何能满足我需要的东西,尽管我可能错了 - 那些都是大包装.因此,我想知道这个想法是否已经在包中,或者是否有人有一个聪明的方法来计算结果.好像它应该是一个包.
食物网可以通过物种A:F之间的相互作用矩阵来描述,如代码和图中所示.换句话说,人们可以说"A吃B吃E"等(很难在矩阵中看到,图中是微不足道的).
species <- LETTERS[1:6]
links <- c(0, 1, 0, 0, 0, 0,
1, 0, 1, 1, 1, 0,
0, 1, 0, 0, 1, 0,
0, 1, 0, 0, 1, 1,
0, 1, 1, 1, 0, 0,
0, 0, 0, 1, 0, 0)
L <- matrix(links, nrow = 6, byrow = TRUE,
dimnames = list(species, species))
Run Code Online (Sandbox Code Playgroud)
我想计算每个物种的营养位置和营养高度.营养位置定义为特定物种+ 1下食物链中物种的总数.在图中,A的营养位置为6,D为3,另一方面,营养高度为平均值.物种在其参与的每个独立链中的位置.物种B连接到4个不同的链(路径); 它的高度是在时间上考虑的位置的平均值:(3 + 3 + 3 + 2)/ 4 = 2.75.
在计算上,需要读取矩阵L,然后通过矩阵隐含的不同路径来计算所需的值.
如果这不是太迟钝,有没有人知道这样做的包,或者看到一种方法来跟踪路径并计算各种长度/选项?它"感觉"必须有一些应该有效的递归/应用方法,但我不想重新发明东西.
提前致谢

S3类的名称是否有任何限制?例如,名称中是否允许使用空格?我看到数据帧有一类"data.frame"而不是"数据帧".如果没有正式的限制,是否存在名称中有空格的问题?我只是没有碰到基本模式以外的任何东西,所以我相信那些有更多经验的人会知道.
我有一个包,其中包含一个 csv 文件,我将其放入每个 R-exts 的 inst/extdata 中。小插图需要此文件。如果我直接编织小插图,一切正常。但是,当我运行 R --vanilla CMD check 时,检查过程找不到该文件。我知道它在检查过程中已移入 .Rcheck 目录,这可能是问题的一部分。但我不知道如何设置它,所以直接 Sweave 和小插图构建/检查都有效。
小插图包含这样一行:
EC1 <- dot2HPD(file = "../inst/extdata/E_coli/ecoli.dot",
node.inst = "../inst/extdata/E_coli/NodeInst.csv",
Run Code Online (Sandbox Code Playgroud)
函数 dot2HPD 通过以下方式访问文件:
ni <- read.csv(node.inst)
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
> tab <- read.csv("../inst/extdata/E_coli/NodeInst.csv")
Warning in file(file, "rt") :
cannot open file '../inst/extdata/E_coli/NodeInst.csv': No such file or directory
When sourcing ‘HiveR.R’:
Error: cannot open the connection
Execution halted
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这与此问题有关,但该信息似乎已过时并且并未完全涵盖该领域。
我在 Mac 上。
以下函数根据需要并行执行,但返回NULL而不是预期的矩阵.我究竟做错了什么?
doTheMath_MC <- function(st, end, nd) {
if (st > end) stop("end must be larger than st")
print(getDoParWorkers())
# Helper function from stackoverflow.com/a/23158178/633251
tr <- function(x, prec = 0) trunc(x * 10^prec) / 10^prec
# Helper function to use with foreach
fef <- function(i, j, num, trpi) {
if (num[j] >= num[i]) return(NULL)
val <- num[i]/num[j]
if (!tr(val, nd) == trpi) return(NULL)
return(c(i, j, tr(val, nd)))
}
# Here we go...
nd <- nd - 1
trpi <- …Run Code Online (Sandbox Code Playgroud) 是否有工具或技巧来显示Xcode项目中对象之间的所有连接?我正在考虑某种图形显示,或不太理想的表格.当然,这对于故障排除或研究示例代码非常有用.我尝试在这里搜索(SO),但这些术语出现在许多问题中,并且连接具有另一种含义.谢谢.
继续我最近的一个问题,这个问题有点不同,并使用更简单的例子更充分地说明问题.以下是两个数据集和三个函数.第一个按预期绘制一些点和圆圈:
library("ggplot2")
library("grid")
td1 <- data.frame(x = rnorm(10), y = rnorm(10))
tf1 <- function(df) { # works as expected
p <- ggplot(aes(x = x, y = y), data = df)
p <- p + geom_point(color = "red")
p <- p + annotation_custom(circleGrob())
print(p)
}
tf1(td1)
Run Code Online (Sandbox Code Playgroud)
下一个似乎要求确切的样本图,但代码略有不同.它不会给出错误但不会绘制圆圈:
tf2 <- function(df) { # circle isn't draw, but no error either
p <- ggplot()
p <- p + geom_point(data = df, aes(x = x, y = y), color = "red")
p …Run Code Online (Sandbox Code Playgroud) 以前没碰过这个.从pairs.panels包中的帮助页面psych,可以找到以下内容:
data(iris)
pairs.panels(iris[1:4],bg=c("red","yellow","blue")[iris$Species],pch=21)
Run Code Online (Sandbox Code Playgroud)
我想问一下这个参数,它设置了为数据点绘制的圆的背景颜色:bg=c("red","yellow","blue")[iris$Species]显然,这个参数将3个级别(iris$Species一个因子)与给定的3个颜色相关联.我不是在询问它的作用.
我想知道这种关联传递的数据与动态数据级别的关联方式是什么,以及它在哪里被记录?这似乎有些R神奇.如果我正在编写此函数,我可能会分别传递因子的颜色和列名,然后在幕后手动进行关联.这个技巧可能非常有用.但从表面[iris$Species]上看,数据看起来就像索引本身一样.[iris$Species]例如,您无法输入控制台,只会出错.您可以输入c("red","yellow","blue")[iris$Species]并获得正确的答案.似乎可能会有一些回收,但我不确定.我很好奇这里记录的内容,如果有人能用一两句话来解释发生了什么.例如,[iris$Species]正在转换为整数,然后用于索引3种颜色的列表?我在想这就是它,但我想要另一种意见.
注:同样的伎俩是使用在graphics::pairs其上panels.pairs的基础上的.
我正在尝试更新要使用的应用程序autolayout,我想知道使用哪些单位来指定约束。它们被称为点。但是它们是像素吗?这似乎会破坏的预期效用autolayout。点是否以一致的方式映射到像素?可以在任何地方设置单位吗?使用百分比可能对我很有帮助。我无法在任何地方找到正式定义。
更新:我找到了部分信息,并将其作为答案。这实际上让我更加困惑:如果您将两个按钮的分隔约束设为10点,则iPhone和iPad的屏幕上的分隔是不同的(由于10/768小于10/320,因此它们在iPad上显示得更近)。有没有使用Interface Builder解决此问题的方法(即避免对约束进行编码?)。
r ×8
syntax ×2
xcode ×2
autolayout ×1
class ×1
data-binding ×1
foreach ×1
ggplot2 ×1
ios ×1
matrix ×1
objective-c ×1
package ×1
packages ×1
r-package ×1
rbind ×1