小编jak*_*b-r的帖子

从.5开始

是的我知道为什么我们总是四舍五入到最近的偶数,如果我们在两个数字的确切中间(即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.(我觉得这很明显)

r rounding r-faq

54
推荐指数
5
解决办法
2万
查看次数

使用与列同名的变量对data.table进行子集化

我想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)

还有另一个优雅的解决方案吗?

r subset data.table

21
推荐指数
2
解决办法
1655
查看次数

Ruby on rails从视图路由到控制器中的自定义方法

我有一个控制器名称帖子.在我/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)

ruby-on-rails

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

如何在R Studio演示中包含情节(Rpres)

如何在Rpres文件中包含绘图?如果你像在普通的Rmd文件中那样做

Basic Plot
========================================================
```{r, echo=FALSE}
library(plotly)
plot_ly(economics, x = date, y = unemploy / pop)
```
Run Code Online (Sandbox Code Playgroud)

结果如下: 文件错误(con,

我提出的解决方案,它使用了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 rstudio plotly rpres htmlwidgets

13
推荐指数
1
解决办法
3476
查看次数

pdf设备和字体系列"Arial"/或:更改PDF格式的字体名称(不是字体)

我在R中使用字体和PDF输出有问题.在这台Windows机器上没有Helvetica,设备使用的字体似乎是Arial,如下所示.简单的问题是,使用Arial(我希望它是这样),但编辑PDF文件,它说使用了Helvetica.如何让R将正确的名称写入PDF文件.pdf(...,family="Arial")不会工作,因为这个家庭不知道(grDevices版本2.15.1).

或者我可以在PDF中替换此字体,创建一个具有我想要的字体的文件?

R-PDF-输出 R输出:Arial字体

本文的比较:Arial vs. Helvetica 在此输入图像描述

pdf fonts r typeface

6
推荐指数
2
解决办法
5508
查看次数

将两个data.frames列表绑定到一个新列表

我有两个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)

但我想知道他们是否可能是一个更好的解决方案.

r lapply dataframe cbind

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

ggplot2:scale_alpha()的阈值

是否可以指定色阶的阈值?

看看这个例子:

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)

Scale_alpha仅适用于给定限制内的值

我想要的是,低于0.5的值得到α值为0,这样左下半部分将是不可见的.显然我可以改变原始数据,但这会破坏传说.

alpha r colors ggplot2

5
推荐指数
1
解决办法
4307
查看次数

ggplot2:从ggplot-Object创建一个独立的副本

我不知道如何把它放在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?

我知道这不是一个好习惯,但是我得到了一些很长的代码,我不想这么做.

oop r ggplot2

4
推荐指数
2
解决办法
1056
查看次数

data.table:使用 lapply 创建新列

我有一个 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)

提前致谢,另外:我不介意函数的结果是否必须具有固定长度。

r lapply data.table

4
推荐指数
1
解决办法
1989
查看次数

与水管工一起提供可下载的文件

如何设置我的管道工 API 以便它提供可下载文件?

例如,我想直接传递一个rdsorRData对象,而不是将其序列化为 JSON。

r plumber

3
推荐指数
1
解决办法
1253
查看次数