如何确定与特定行名对应的行索引号?我有一个行名称向量,我想用它们来获取矩阵中相应行索引的向量.
我试过row()和as.integer(rownames(matrix.object)),但既不似乎工作.
我希望查询一个矩阵对象,如果矩阵包含任何NA ,则返回一个简单TRUE/ FALSE答案.所以,如果没有NAs存在,你会得到FALSE.
is.na(my.matrix)如果存在NA,将逐个元素地告诉我,但我不知道如何将结果总结为单个答案.na.fail()看起来更好的赌注,但我仍然不确定如何提取简单TRUE/ FALSE答案.
为了看到由foreach()循环中运行的函数输出的控制台消息,我遵循了这个人的建议,并添加了sink()这样的调用:
library(foreach)
library(doMC)
cores <- detectCores()
registerDoMC(cores)
X <- foreach(i=1:100) %dopar%{
sink("./out/log.branchpies.txt", append=TRUE)
cat(paste("\n","Starting iteration",i,"\n"), append=TRUE)
myFunction(data, argument1="foo", argument2="bar")
}
Run Code Online (Sandbox Code Playgroud)
然而,在迭代77我得到错误'sink stack is full'.关于在使用for循环时避免此错误的问题有很多,但不是foreach.将其他隐藏的foreach输出写入文件的最佳方法是什么?
假设有一个不同长度的矩阵对象列表,但有一些共同的行名称.如何只保留所有矩阵中存在的那些行?即,从这开始:
> my.list
$matrix.a
X1 X2 X3
row.A 59 36 9
row.B 54 29 44
row.C 59 36 9
row.D 54 88 32
$matrix.b
X1 X2 X3
row.B 47 12 2
row.C 11 36 9
row.D 54 23 99
$matrix.c
X1 X2 X3
row.A 95 31 77
row.B 63 29 44
row.C 60 43 2
Run Code Online (Sandbox Code Playgroud)
并产生这个:
> my.list.subsetted
$matrix.a
X1 X2 X3
row.B 54 29 44
row.C 59 36 9
$matrix.b
X1 X2 X3
row.B 47 12 2
row.C 11 …Run Code Online (Sandbox Code Playgroud) 我希望获得数组中每个元素的平均值。在一个简单的例子中,假设我们有这个简单的数组:
, , 1
[,1] [,2] [,3]
[1,] 2.000000000 3.000000000 1.000000000
[2,] 6.000000000 5.000000000 2.000000000
[3,] 8.000000000 12.00000000 4.000000000
[4,] 12.00000000 10.00000000 4.000000000
, , 2
[,1] [,2] [,3]
[1,] 4.000000000 6.000000000 2.000000000
[2,] 4.000000000 10.00000000 3.000000000
[3,] 8.000000000 12.00000000 4.000000000
[4,] 8.000000000 20.00000000 6.000000000
, , 3
[,1] [,2] [,3]
[1,] 6.000000000 9.000000000 3.000000000
[2,] 2.000000000 15.00000000 4.000000000
[3,] 12.00000000 18.00000000 6.000000000
[4,] 4.000000000 30.00000000 8.000000000
Run Code Online (Sandbox Code Playgroud)
我想找到数组中所有表(?)中每一行 i、列 i 的平均值。在上面的情况下,正确的结果将是这个矩阵(抱歉,我不太擅长编数字):
[,1] [,2] [,3]
[1,] 4.000000000 6.000000000 2.000000000
[2,] 6.000000000 …Run Code Online (Sandbox Code Playgroud) 我希望使用诸如sed或awk之类的UNIX工具根据它们的行号(例如,将行10和15的位置切换)在多个文本文件中交换或转置成对的行.
例如,我相信这个sed命令应该在一个文件中交换第14行和第26行:
sed -n '14p' infile_name > outfile_name
sed -n '26p' infile_name >> outfile_name
Run Code Online (Sandbox Code Playgroud)
如何将其扩展到多个文件?欢迎任何单线解决方案.
目前,我很喜欢在 R 脚本运行完毕后收到电子邮件通知,这要归功于该mail软件包。
但是,我想知道如果脚本因遇到错误而无法完成运行,是否可以让 R(或 RStudio 或其他东西)通知我?电子邮件将是最好的传递方式。
当我在远程计算机上运行代码或离开计算机时,这将非常有用。