我想先按行然后按列进行分层聚类。我想出了一个完整的解决方案:
#! /path/to/my/Rscript --vanilla
args <- commandArgs(TRUE)
mtxf.in <- args[1]
clusterMethod <- args[2]
mtxf.out <- args[3]
mtx <- read.table(mtxf.in, as.is=T, header=T, stringsAsFactors=T)
mtx.hc <- hclust(dist(mtx), method=clusterMethod)
mtx.clustered <- as.data.frame(mtx[mtx.hc$order,])
mtx.c.colnames <- colnames(mtx.clustered)
rownames(mtx.clustered) <- mtx.clustered$topLeftColumnHeaderName
mtx.clustered$topLeftColumnHeaderName <- NULL
mtx.c.t <- as.data.frame(t(mtx.clustered), row.names=names(mtx))
mtx.c.t.hc <- hclust(dist(mtx.c.t), method=clusterMethod)
mtx.c.t.c <- as.data.frame(mtx.c.t[mtx.c.t.hc$order,])
mtx.c.t.c.t <- as.data.frame(t(mtx.c.t.c))
mtx.c.t.c.t.colnames <- as.vector(names(mtx.c.t.c.t))
names(mtx.c.t.c.t) <- mtx.c.colnames[as.numeric(mtx.c.t.c.t.colnames) + 1]
write.table(mtx.c.t.c.t, file=mtxf.out, sep='\t', quote=F, row.names=T)
Run Code Online (Sandbox Code Playgroud)
变量mtxf.in和 分别mtxf.out表示输入矩阵和聚类输出矩阵文件。变量clusterMethod是的一个hclust方法,如single,average等
作为示例输入,这是一个数据矩阵: …
我在哪里可以安装Rscript?我需要使用exec从php文件运行R脚本.但是我需要先安装Rscript.
我有一个myscript.R使用配置文件的R脚本,例如config.xml,将这样的脚本提交给作业调度程序的最佳方法是什么(例如,使用qsub)?
我希望能够以与我使用相同的方式使用脚本和文件,例如嵌入在bash脚本中的C或Fortran可执行文件.
下面是我使用编译的Fortran可执行文件的方法的示例,fex如下所示我将调用fscript.sh:
!#/bin/bash/
mpirun [arguments] "fex" -f $1
Run Code Online (Sandbox Code Playgroud)
以上内容fscript.sh可以发送到集群,其中包含读取配置文件的说明,如下所示:
qsub [arguments] fscript.sh 1 config.xml
Run Code Online (Sandbox Code Playgroud)
要以类似的方式运行R,我使用的是bash脚本 rscript.sh
#!/bin/bash
CONFIG=$1
env $CONFIG R --vanilla < myscript.R
Run Code Online (Sandbox Code Playgroud)
这可以在命令行运行,例如
qsub [arguments] rscript.sh config.xml
Run Code Online (Sandbox Code Playgroud)
哪里rscript.R包含类似的东西
library(XML)
config <- Sys.getenv("CONFIG")
config <- xmlList(xmlParse(config.xml))
myfunction(config)
Run Code Online (Sandbox Code Playgroud)
除了提出rscript.sh上面描述的bash脚本之外,我还阅读了教程和一些文档Rscript以及编译器,但我不清楚这些是否是一个优先于另一个的上下文.此外,还不清楚在任一上下文中传递配置文件的最佳方法.
这个问题与其他问题有关,例如,从R程序创建可执行文件的方法是什么,R编译器是否存在?.但是,我不认为使用编译代码是必不可少的.
如何调用如下的R脚本
scan()
Run Code Online (Sandbox Code Playgroud)
在Windows?使用任何一个R或时Rscript,没有任何内容被读取 使用Rscript或littler(在Linux上)脚本按预期工作.
# Doesn't work because stdin is already redirected
R --no-save < test.R
# Works on Linux, doesn't on Windows
Rscript test.R
# Works on Linux, doesn't exist in Windows
r test.R
Run Code Online (Sandbox Code Playgroud)
有没有办法在不改变R代码的情况下实现这一目标?
也许相关:为什么--interactiveWindows中没有开关?
我正在尝试获取摘要以不包装其输出。但是,当我使用 5 列数据调用摘要时,它将第 5 列放在单独的行上。我希望有一种方法比手动打印迭代摘要返回的对象更容易。
此致,
约瑟夫
绘图程序
#!/usr/bin/Rscript
noneData <- read.csv("query.log", header=FALSE, sep="\t");
cnames = c( 'vids', 'partitions', 'localvert', 'remotevert',
'cachehits', 'responsetime' );
colnames(noneData) <- cnames;
cachenames = c('1', '2', '3', '4', '5');
responseCompare = data.frame(
noneData$responsetime/1000000,
noneData$responsetime/1000000,
noneData$responsetime/1000000,
noneData$responsetime/1000000,
noneData$responsetime/1000000
);
colnames(responseCompare) <- cachenames;
print("Response Times");
summary(responseCompare);
Run Code Online (Sandbox Code Playgroud)
./plotit.r #输出:
[1] "Response Times"
1 2 3 4
Min. : 0.215 Min. : 0.215 Min. : 0.215 Min. : 0.215
1st Qu.: 395.202 1st Qu.: 395.202 1st Qu.: 395.202 1st …Run Code Online (Sandbox Code Playgroud) 我已经尝试了Rscript和R CMD BATCH.
例如,如果我运行这个简单的R脚本:
test <- function(){
print("test")
}
Run Code Online (Sandbox Code Playgroud)
通过使用
> R CMD BATCH test.R
Run Code Online (Sandbox Code Playgroud)
我得到以下test.Rout文件:
R version 3.0.1 (2013-05-16) -- "Good Sport"
Copyright (C) 2013 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' …Run Code Online (Sandbox Code Playgroud) 以下代码在R控制台(R 3.3.0)中正常工作:
m = system.file("external/pores_1.mtx", package = "Matrix")
x = Matrix::readMM(m)
Run Code Online (Sandbox Code Playgroud)
我可以把它放在一个脚本中,它可以在R控制台中正常运行:
source("test.R")
Run Code Online (Sandbox Code Playgroud)
然而,当我执行它Rscript --vanilla test.R或者Rscript test.R,我得到一个错误:
Error in validObject(.Object) :
invalid class “dgTMatrix” object: Not a valid 'Mnumeric' class object
Calls: <Anonymous> -> new -> initialize -> initialize -> validObject
Execution halted
Run Code Online (Sandbox Code Playgroud)
我不知道这是否与该特定功能有关.我猜这与Rscript的工作原理有关,但我以前用过各种其他库和函数,从未见过这样的东西.知道发生了什么事吗?
我想清理我的 R 代码,因此我想编写几个 RScript 并在那里调用函数,但我不知道如何做到这一点。
例如,我的主类中有以下调用:
G = function(x) {
return(-exp(-1i * x) * Conj(H(x+pi)) )
}
Run Code Online (Sandbox Code Playgroud)
函数 H 在另一个 R 脚本中编写如下
H = function(x) {
return (exp(-1i * x / 2) * cos(x / 2) )
}
Run Code Online (Sandbox Code Playgroud)
两个 RScript 都在同一个项目中,但我的主类无法识别函数 H.
我的错误在哪里?
感谢期待
马蒂亚斯
我正在尝试将以下 curl 命令转换为 httr/RCurl 以将 cookie 转换为 R。但我不确定如何使用 getURL(...) 或 GET(. ..)
curl --data "j_username=username&j_password=password" http://localhost:8080/myApp/j_spring_security_check --cookie-jar cookies.txt
Run Code Online (Sandbox Code Playgroud)
我能够获取上面命令行 curl 命令创建的 cookie 信息并将其粘贴到 GET 请求中(它有效)。如果我可以在 R 中生成 cookie,那就方便了。
这是我的工作 httr get GET():
GET(dataURL,
verbose(),
add_headers("Content-type"="application/json",
"Accept"="application/json",
"Accept-Version"=" 1.0",
"Cookie"="JSESSIONID=24BA7A80A02317AD2B6C87C8D10B6787"
)
)
Run Code Online (Sandbox Code Playgroud) 我正在使用R脚本进行一些统计计算。当我使用交互式终端时,此代码可以正常工作:
# Load libraries to read ods tables, calcs alpha and pearson
print("Loading libraries...")
library(readODS)
# library(arules)
# library(arulesViz);
print("Done!")
# Read table ods
print("Calc results...")
table_votes = read_ods("table.ods", col_names = TRUE)
# Remove columns from dataframe where ALL values are NA
table_votes <- table_votes[,colSums(is.na(table_votes))<nrow(table_votes)]
matrix_votes <- as.matrix(table_votes)
matrix_votes[!is.finite(matrix_votes)] <- 0
transactions <- as(matrix_votes, 'transactions')
apriori(transactions)
Run Code Online (Sandbox Code Playgroud)
但是,当我将此代码传递给文件以与Rscript一起运行时,我的as()函数存在问题:
“错误:找不到函数'as'”
我使用R -r my_file.R ...解决了这个问题,但是为什么Rscript无法使用?
install.packages("rbindlist")install.packages中的警告:包'rbindlist'不可用(对于R版本3.3.3)
我正在使用R版本3.3.3并尝试安装rbindist软件包,但此版本不提供.我知道有些人可以通过先安装其他软件包来下载它.我想知道是否有人知道要运行什么代码来获取rbindlist?
我是Twitter用户的地理位置,没有rbindlist就无法这样做
r ×11
rscript ×11
geolocation ×1
hierarchical ×1
httr ×1
rbind ×1
rcurl ×1
ubuntu ×1
windows ×1