小编Jam*_*mes的帖子

使用Windows命令行连接文本文件,删除前导行

我需要连接一些相对较大的文本文件,并希望通过命令行执行此操作.不幸的是我只有Windows,无法安装新软件.

type file1.txt file2.txt > out.txt
Run Code Online (Sandbox Code Playgroud)

允许我几乎得到我想要的,但我不希望第一行file2.txt包含在out.txt中.

我注意到,more+n指定一个起跑线上的选择,但我还没有成功地组合这些得到我想要的结果.我知道在Windows中这可能是不可能的,我总是可以手动编辑out.txt来摆脱这一行,但有一种简单的方法可以从命令行执行此操作吗?

windows command-line concatenation

124
推荐指数
5
解决办法
30万
查看次数

将列添加到data.frame

我有下面的data.frame.我想添加一个列,根据第1列(h_no)分类我的数据,第一个系列的h_no 1,2,3,4是1级,第2个系列h_no(1到7)是2级等.如最后一栏中所示.

h_no  h_freq  h_freqsq
1     0.09091 0.008264628 1
2     0.00000 0.000000000 1
3     0.04545 0.002065702 1
4     0.00000 0.000000000 1  
1     0.13636 0.018594050 2
2     0.00000 0.000000000 2
3     0.00000 0.000000000 2
4     0.04545 0.002065702 2
5     0.31818 0.101238512 2
6     0.00000 0.000000000 2
7     0.50000 0.250000000 2 
1     0.13636 0.018594050 3 
2     0.09091 0.008264628 3
3     0.40909 0.167354628 3
4     0.04545 0.002065702 3
Run Code Online (Sandbox Code Playgroud)

r dataframe

106
推荐指数
3
解决办法
53万
查看次数

无法在Windows 7上更新默认库中的R包

我正在尝试使用RGui(64位)更新软件包,update.packages但我收到以下消息:

Warning in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  :
  'lib = "C:/PROGRA~1/R/R-212~1.1/library"' is not writable
Error in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  : 
  unable to install packages
Run Code Online (Sandbox Code Playgroud)

我查看了资源管理器中的库文件夹,它只有设置,所以我删除了它.但是,当我在执行此操作后立即再次检查属性时,它会重新出现.安装新软件包不受影响,因为它们在我的用户配置文件中有一个单独的文件夹.

是否有一个技巧让这个工作?

r windows-7

46
推荐指数
3
解决办法
7万
查看次数

如何对R strsplit进行矢量化?

创建使用的函数时strsplit,矢量输入的行为不符合要求,sapply需要使用.这是由于产生的列表输出strsplit.有没有办法对流程进行矢量化 - 也就是说,函数会在列表中为输入的每个元素生成正确的元素?

例如,要计算字符向量中单词的长度:

words <- c("a","quick","brown","fox")

> length(strsplit(words,""))
[1] 4 # The number of words (length of the list)

> length(strsplit(words,"")[[1]])
[1] 1 # The length of the first word only

> sapply(words,function (x) length(strsplit(x,"")[[1]]))
a quick brown   fox 
1     5     5     3 
# Success, but potentially very slow
Run Code Online (Sandbox Code Playgroud)

理想情况下,像length(strsplit(words,"")[[.]])where 这样的东西.被解释为输入向量的相关部分.

r vectorization strsplit

15
推荐指数
1
解决办法
1万
查看次数

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

当尝试使用时创建类似函数的列表时lapply,我发现列表中的所有函数都是相同的,并且等于最终元素应该是什么.

考虑以下:

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>
Run Code Online (Sandbox Code Playgroud)

当您尝试评估这些功能时,您会得到相同的结果:

pl[[1]](2)
[1] 8
pl[[2]](2)
[1] 8
pl[[3]](2)
[1] 8
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,我怎样才能得到我想要的结果(列表中的正确功能)?

closures r anonymous-function lapply

14
推荐指数
2
解决办法
984
查看次数

knitr中的自动ggplot2示例库

我正在尝试使用它来制作一个ggplot2geoms 画廊knitr.为了快速完成这项工作,我想使用内置的examples来填充内容.

经过一些试验和错误,我已经到了这一步:

\documentclass[a4paper,titlepage]{tufte-handout}
\usepackage{pdflscape}
\usepackage{graphicx}
\usepackage{alltt}

<<setup, include=FALSE, cache=FALSE>>=
options(replace.assign=TRUE,tidy=TRUE)
library(ggplot2)
library(plyr)
library(scales)
geoms <- setdiff(apropos("^geom_"),"geom_blank")
@

\title{ggplot2 Gallery}

\begin{document}
\maketitle

<<examples, echo=FALSE, comment=NA>>=
for(i in geoms){
    writeLines(paste0("\\section{",gsub("_","\\\\_",i),"}"))
    do.call("example",list(i))
}
@

\end{document}
Run Code Online (Sandbox Code Playgroud)

但仍有一些我无法解决的问题:

  • 我似乎无法在块中混合markupasis结果选项,以便生成章节标题.(这对于稍后导航文档至关重要).是否还有其他方法可以在大块内部编写LaTex?

  • 有一些例子会抛出错误(这就是为什么geom_blank被排除在外).该knitr文件规定,计算继续错误的情况下,但它只是似乎是针织过程,继续; 示例循环在此时停止.有没有办法避免错误的示例部分?

  • example代码输出不syntaxed突出.(有用但不是必需的).

r ggplot2 knitr

12
推荐指数
1
解决办法
2322
查看次数

突出显示ggplot2中感兴趣的区域

在vanilla plotting中,可以polygonpanel.first参数中使用调用plot来突出显示背景区域.是否可以这样做ggplot2?可以在保留网格线的同时完成吗?

例如:

# plot hp and wt for mtcars data, highlighting region where hp/wt ratio < 35
with(mtcars,plot(hp,wt,
     panel.first=polygon(c(0,0,max(wt)*35),c(0,max(wt),max(wt)),
     col="#d8161688",border=NA)))
Run Code Online (Sandbox Code Playgroud)

r ggplot2

10
推荐指数
1
解决办法
1713
查看次数

更大尺寸的ggsave png错误

我正在保存一个刻面的ggplot2图,它可以很好地保存在较小的尺寸,但是当我想要增加它时会失败.

> ggsave("tst.png",height=6.75,width=9)
# works fine

> ggsave("tst.png",height=9,width=12)
Error in grDevices::png(..., width = width, height = height, res = dpi,  : 
  unable to start device
In addition: Warning messages:
1: In grDevices::png(..., width = width, height = height, res = dpi,  :
  Unable to allocate bitmap
2: In grDevices::png(..., width = width, height = height, res = dpi,  :
  opening device failed
Run Code Online (Sandbox Code Playgroud)

我之前用ggsave保存了这个大小的png,为什么它不工作的任何想法?

可重复的例子:

library(car)
qplot(education,data=Vocab,geom="density",colour=sex)+facet_wrap(~year)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

10
推荐指数
1
解决办法
2万
查看次数

当使用pmin和pmax时,dplyr:mutate和transform之间的区别?

在试图回答这个问题,我遇到之间的差异mutate,并transform在我的预期是等价的操作.

# data
x <- data.frame(a=c(rep(0,10),rep(1,10),3),b=c(1:10,0,11:19,0))

#transform
transform(x,a=pmin(a,b), b=pmax(a,b))
   a  b
1  0  1
2  0  2
3  0  3
4  0  4
5  0  5
6  0  6
7  0  7
8  0  8
9  0  9
10 0 10
11 0  1
12 1 11
13 1 12
14 1 13
15 1 14
16 1 15
17 1 16
18 1 17
19 1 18
20 1 19
21 0  3 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

9
推荐指数
1
解决办法
3301
查看次数

理解Shiny中的反应函数

我创建了一个Shiny应用程序,它从数据库中提取数据.我在UI部分有许多输入,在服务器部分有许多输出.

在服务器部分,我有一个反应函数,它使用一些输入构建查询,然后从数据库中提取数据,例如:

queriedData <- reactive({
                query <- paste0(...,input$a,...);
                return(db$find(query))
               })
Run Code Online (Sandbox Code Playgroud)

在输出槽中,我指的是使用中的数据

x <- queriedData()
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 我相信只有当被动功能中引用的输入发生变化时,才会轮询数据库.它是否正确?
  • 因此,我认为调用此反应函数不会产生查询 - 即数据是否被缓存并提供缓存数据?
  • 对于不属于查询的输入,我假设对这些输入的更改不会导致新的数据库查询.它是否正确?

r rstudio shiny

6
推荐指数
1
解决办法
1617
查看次数