Tag: r

使用cron安排R脚本

我正在尝试使用cron来安排我的R脚本,但它不工作。 看来R无法在cron中find软件包。 任何人都可以帮助我? 谢谢。 以下是我的bash脚本 # source my profile . /home/winie/.profile # script.R will load packages R CMD BATCH /home/script.R

从一个函数内分配多个对象到.GlobalEnv

在这里的一个post后面有一个我想知道如何在一个函数内为全局环境中的多个对象赋值。 这是我尝试使用lapply ( assign可能比<<-更安全<<-但我从来没有真正使用它,并不熟悉它)。 #fake data set df <- data.frame( x.2=rnorm(25), y.2=rnorm(25), g=rep(factor(LETTERS[1:5]), 5) ) #split it into a list of data frames LIST <- split(df, df$g) #pre-allot 5 objects in R with class data.frame() V <- W <- X <- Y <- Z <- data.frame() #attempt to assign the data frames in the LIST […]

如何将整数转换为二进制向量?

如何使用R将整数转换为二进制向量? 例如 : number <- 11 [1] 1 0 1 1 如果我需要将整个数字向量(最小值= 0,最大值= 300)转换成二进制matrix,那么最快可能的转换方法是什么(使用R代码或包中的一些现有函数)?

在paste()中抑制NAs

关于赏金 Ben Bolker的paste2解决scheme产生一个""当粘贴的string包含NA在同一个位置。 喜欢这个, > paste2(c("a","b", "c", NA), c("A","B", NA, NA)) [1] "a, A" "b, B" "c" "" 第四个元素是一个""而不是一个NA像这样, [1] "a, A" "b, B" "c" NA 我为所有能解决这个问题的人提供这个小小的奖励。 原来的问题 我已阅读帮助页面?paste ,但我不明白如何让R忽略NA s。 我做了以下, foo <- LETTERS[1:4] foo[4] <- NA foo [1] "A" "B" "C" NA paste(1:4, foo, sep = ", ") 并得到 [1] "1, A" "2, […]

删除R中除撇号之外的所有标点符号

我想使用R的gsub删除除撇号以外的文本中的所有标点符号。 我是相当新的正则expression式,但正在学习。 例: x <- "I like %$@to*&, chew;: gum, but don't like|}{[] bubble@#^)( gum!?" gsub("[[:punct:]]", "", as.character(x)) 目前的输出(不要撇号) [1] "I like to chew gum but dont like bubble gum" 期望的输出(我希望撇号不要停留) [1] "I like to chew gum but don't like bubble gum"

如何用逗号作为小数点分隔符来读取数字?

我有一系列的CSV文件,其中的数字是使用逗号而不是小数点来格式化欧洲风格,即0,5而不是0.5 。 有太多的这些文件在导入到R之前编辑它们。我希望read.csv()函数有一个简单的参数,或者是一个方法来应用于提取的数据集,以便R将数据视为一个数字而不是一个string。

你如何订购ggplot2 geom_bar中的填充颜色

我正在调用ggplot函数 ggplot(data,aes(x,y,fill=category)+geom_bar(stat="identity") 其结果是一个带有与各种颜色相对应的各种颜色的酒吧的条形图。 然而,从酒吧到酒吧的颜色sorting并不一致。 说有粉红色,绿色和蓝色。 一些酒吧从底部到顶部变成粉红色,绿色,蓝色,一些变成绿色,粉红色,蓝色。 我没有看到任何明显的模式。 这些订单是如何select的? 我怎样才能改变它? 至less,我怎样才能让ggplotselect一致的顺序? (x,y和类别)的类别分别是(整数,数字和因子)。 如果我把类别作为一个有序因子,它不会改变这种行为。 有谁知道如何解决这个问题? 可重复的例子: dput(data) structure(list(mon = c(9L, 10L, 11L, 10L, 8L, 7L, 7L, 11L, 9L, 10L, 12L, 11L, 7L, 12L, 8L, 12L, 9L, 7L, 9L, 10L, 10L, 8L, 12L, 7L, 11L, 10L, 8L, 7L, 11L, 12L, 12L, 9L, 9L, 7L, 7L, 12L, 12L, 9L, […]

在二进制search的vector中查找最接近的值

作为一个愚蠢的玩具的例子,假设 x=4.5 w=c(1,2,4,6,7) 我想知道是否有一个简单的R函数可以find与w最接近的匹配的索引。 所以如果foo是那个函数, foo(w,x)会返回3 。 functionmatch是正确的想法,但似乎只适用于完全匹配。 which(abs(wx)==min(abs(wx))) which.min(abs(w – x)) , which(abs(wx)==min(abs(wx)))等都是O(n)而不是log(n) (I假设w已经sorting)。

是否有可能使用R data.table函数foverlaps来查找两个表中的重叠范围的交集?

我想使用foverlaps来查找两个bed文件的相交范围,并将包含重叠范围的所有行合并成一行。 在下面的例子中,我有两个基因组范围的表。 这些表被称为“床”文件,其具有基于零的起始坐标和染色体中的特征的一个基于终点的位置。 例如,START = 9,STOP = 20被解释为跨越基数10到20(含)。 这些床文件可以包含数百万行。 解决scheme需要给出相同的结果,无论提供两个文件相交的顺序如何。 第一个表 > table1 CHROMOSOME START STOP 1: 1 1 10 2: 1 20 50 3: 1 70 130 4: X 1 20 5: Y 5 200 第二个表 > table2 CHROMOSOME START STOP 1: 1 5 12 2: 1 15 55 3: 1 60 65 4: […]

从lapply返回匿名函数 – 出了什么问题?

当试图使用lapply创build一个类似函数的列表时,我发现列表中的所有函数都是相同的,并等于最终的元素应该是什么。 考虑以下几点: pow <- function(x,y) x^y pl <- lapply(1:3,function(y) function(x) pow(x,y)) pl [[1]] function (x) pow(x, y) <environment: 0x09ccd5f8> [[2]] function (x) pow(x, y) <environment: 0x09ccd6bc> [[3]] function (x) pow(x, y) <environment: 0x09ccd780> 当您尝试评估这些function时,您会得到相同的结果: pl[[1]](2) [1] 8 pl[[2]](2) [1] 8 pl[[3]](2) [1] 8 这里发生了什么,我怎样才能得到我想要的结果(列表中的正确function)?