是的我知道为什么我们总是四舍五入到最近的偶数,如果我们在两个数字的确切中间(即2.5变为2).但是,当我想为某些人评估数据时,他们不希望出现这种行为.获得这个的最简单方法是什么:
x <- seq(0.5,9.5,by=1)
round(x)
Run Code Online (Sandbox Code Playgroud)
为1,2,3,...,10而不是0,2,2,4,4,...,10.
编辑:要清除:舍入后1.4999应为1.(我觉得这很明显)
我想data.table使用一个变量来子集a ,该变量与导致某些问题的列具有相同的名称:
dt <- data.table(a=sample(c('a', 'b', 'c'), 20, replace=TRUE),
b=sample(c('a', 'b', 'c'), 20, replace=TRUE),
c=sample(20), key=c('a', 'b'))
evn <- environment()
a <- 'b'
dt[a == a]
#Expected Result
dt[a == 'b']
Run Code Online (Sandbox Code Playgroud)
我遇到了这个可能的解决方案:
env <- environment()
dt[a == get('a',env)]
Run Code Online (Sandbox Code Playgroud)
但它是如此不利:
this.a = a
dt[a == this.a]
Run Code Online (Sandbox Code Playgroud)
还有另一个优雅的解决方案吗?
我有一个控制器名称帖子.在我/config/routes.rb,我用过这个 -
resources :posts
Run Code Online (Sandbox Code Playgroud)
/app/controllers/posts_controller.rb:
class PostsController < ApplicationController
def new
@post = Post.new
end
def show
@post = Post.find(params[:id])
end
def categoryshow
@post = Post.find(params[:category])
end
def index
@posts = Post.all
end
def create
@post = Post.new(params[:post])
if @post.save
flash.now[:success] = "Your Post Successful"
redirect_to @post
else
render 'new'
end
end
end
Run Code Online (Sandbox Code Playgroud)
我是铁路新手,我经常对路线感到困惑.我有另一个static_pages控制器.在那里有一个home.html.erb文件.
我想做的是致电 -
def categoryshow
@post = Post.find(params[:category])
end
Run Code Online (Sandbox Code Playgroud)
来自的帖子控制器的'categoryshow'方法 /app/views/static_pages/home.html.erb
我该如何管理?如果我使用'posts_path',它将转到索引操作而不是categoryshow操作.
#我通读了这个链接并尝试了一些东西.这是我面临的问题:
当我在config/routes.rb中尝试这个时
resources :posts do
collection do
get 'categoryshow'
end …Run Code Online (Sandbox Code Playgroud) 如何在Rpres文件中包含绘图?如果你像在普通的Rmd文件中那样做
Basic Plot
========================================================
```{r, echo=FALSE}
library(plotly)
plot_ly(economics, x = date, y = unemploy / pop)
```
Run Code Online (Sandbox Code Playgroud)
我提出的解决方案,它使用了Markdown可以包含HTML的可能性:
Basic Plot
========================================================
```{r, results='hide', echo=FALSE}
library(plotly)
p = plot_ly(economics, x = date, y = unemploy / pop)
htmlwidgets::saveWidget(as.widget(p), file = "demo.html")
```
<iframe src="demo.html" style="position:absolute;height:100%;width:100%"></iframe>
Run Code Online (Sandbox Code Playgroud)
但我希望有一个更优雅的解决方案,不使用任何其他文件.
我在R中使用字体和PDF输出有问题.在这台Windows机器上没有Helvetica,设备使用的字体似乎是Arial,如下所示.简单的问题是,使用Arial(我希望它是这样),但编辑PDF文件,它说使用了Helvetica.如何让R将正确的名称写入PDF文件.pdf(...,family="Arial")不会工作,因为这个家庭不知道(grDevices版本2.15.1).
或者我可以在PDF中替换此字体,创建一个具有我想要的字体的文件?
R-PDF-输出

本文的比较:Arial vs. Helvetica

我有两个data.frames列表.两个列表具有相同的长度,并且在其相应的列表元素中包含拟合的data.frames.所以场景看起来像这样
dfa = data.frame(a=1:3, b = letters[1:3])
dfb = data.frame(x=runif(3))
a = replicate(3, dfa, simplify = FALSE)
b = replicate(3, dfb, simplify = FALSE)
Run Code Online (Sandbox Code Playgroud)
一个明显的解决方案是
lapply(seq_along(a), function(i) cbind(a[[i]], b[[i]]))
Run Code Online (Sandbox Code Playgroud)
但我想知道他们是否可能是一个更好的解决方案.
是否可以指定色阶的阈值?
看看这个例子:
xy <- expand.grid(x=1:20,y=1:20)
xyd <- data.frame(xy,z=runif(400),a=rowSums(xy)/40)
g <- ggplot(xyd, aes(x=x, y=y, fill=z, alpha=a)) +
geom_tile() +
scale_alpha(range=c(0,1), limits=c(0.5,1))
g
Run Code Online (Sandbox Code Playgroud)

我想要的是,低于0.5的值得到α值为0,这样左下半部分将是不可见的.显然我可以改变原始数据,但这会破坏传说.
我不知道如何把它放在OO-Speech中.但是当你创建一个ggplot时,它将依赖于源data.frame.那么如何在没有依赖性的情况下保存ggplot呢?
dat <- data.frame(x=runif(10),y=runif(10))
g <- ggplot(dat, aes(x,y)) + geom_point()
g
dat <- NULL
g
Run Code Online (Sandbox Code Playgroud)
第二个$ g $不会产生一个情节,因此dat是$ NULL $.如何保存$ g $以便可以更改dat?
我知道这不是一个好习惯,但是我得到了一些很长的代码,我不想这么做.
我有一个 data.table 并且想对行的每个子集应用一个函数。通常一个人会这样做:DT[, lapply(.SD, function), by = y]
但在我的情况下,该函数不返回原子向量,而只是返回一个向量。有机会做这样的事情吗?
library(data.table)
set.seed(9)
DT <- data.table(x1=letters[sample(x=2L,size=6,replace=TRUE)],
x2=letters[sample(x=2L,size=6,replace=TRUE)],
y=rep(1:2,3), key="y")
DT
# x1 x2 y
#1: a a 1
#2: a b 1
#3: a a 1
#4: a a 2
#5: a b 2
#6: a a 2
DT[, lapply(.SD, table), by = y]
# Desired Result, something like this:
# x1_a x2_a x2_b
# 3 2 1
# 3 2 1
Run Code Online (Sandbox Code Playgroud)
提前致谢,另外:我不介意函数的结果是否必须具有固定长度。
如何设置我的管道工 API 以便它提供可下载文件?
例如,我想直接传递一个rdsorRData对象,而不是将其序列化为 JSON。