小编Mur*_*rta的帖子

R中从右到左的操作员关联性可能吗?

我是R的新手,我刚刚发现我患有Bracket Phobia(请参阅链接中的评论).我喜欢magrittr表示法的%>%工作方式,因为它在某些情况下避免了嵌套的括号,并使代码更具可读性.我来自Mathematica哪里,有一个非常相似的原生//符号来做什么%>%.以下是一些R和Mathematica比较:

#R Notation    
c(1.5,-2.3,3.4) %>% round %>% abs %>% sum  
Run Code Online (Sandbox Code Playgroud)

#Mathematica Notation
{1.5,-2.3,3.4}//Round//Abs//Total
Run Code Online (Sandbox Code Playgroud)

到目前为止很好,但是,我的问题是:

有没有办法模仿Mathematica @ notation,从右到左的关联性R

以下是它在Mathematica中的工作原理,以解决上面相同的代码:

Total@Abs@Round@{1.5,-2.3,3.4}
Run Code Online (Sandbox Code Playgroud)

在Mathematica中,它也可以写成:

Total[Abs[Round[{1.5,-2.3,3.4}]]]
Run Code Online (Sandbox Code Playgroud)

就像R它会是:

sum(abs(round(c(1.5,-2.3,3.4))))
Run Code Online (Sandbox Code Playgroud)

但是在这样的事情中会更加干净(而且很酷)R:

sum@abs@round@c(1.5,-2.3,3.4)
Run Code Online (Sandbox Code Playgroud)

PS:我知道@用于S4课程,并不是一个好主意.这只是一个说明性的比较.

wolfram-mathematica r associativity magrittr

21
推荐指数
3
解决办法
523
查看次数

"Rprofile","Renviron"和"Rprofile.site","Renviron.site"有什么区别?

在我的电脑中:

  1. 有在/ etc/R三个文件 RenvironRprofile.site,Renviron.site我找不到Rprofile任何地方.这是一个合适的地位吗?

  2. 什么是差异beetwen Rprofile,Renviron并且Rprofile.site,Renviron.site

r

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

在R中使用Plotly的子图(修复了错误)

如何在R中使用Plotly创建子图网格?

官方网站有这个很好的Python示例:

Python示例

在Python代码有权选择rows=2cols=2,但在R上的subplot功能刚刚参数nrows,没有ncols.

我在R中尝试了这个例子,但是nrows没有按预期接缝工作:

# Basic subplot
library(plotly)
p <- plot_ly(economics, x = date, y = uempmed)
subplot(p,p,p,p,
  margin = 0.05,
  nrows=2
) %>% layout(showlegend = FALSE)
Run Code Online (Sandbox Code Playgroud)

它们在一条线而不是在网格中.看结果:

在此输入图像描述

这是R suplots页面供参考.不幸的是,使用ggplotly对我来说不是一个选择,就像这样

UPDATE

这是一个错误.Plotly团队非常快,仅在3天内修复(点击此处查看)!Github版本已经更新.很好!

plot datagrid r plotly

11
推荐指数
1
解决办法
6645
查看次数

从R中的Plotly导出PNG文件

如何使用代码从R中将Plotly图表导出为图像?(不使用图表上的导出按钮).

例如,来自Plotly站点的此代码创建此图表:

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
        mode = "markers", color = carat, size = carat)
Run Code Online (Sandbox Code Playgroud)

情节图

如何将其保存为图像?

官方网站在python中有这个材料,但我在R中找不到类似的东西.

r plotly

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

多个y轴图表,带有P中的Rlotly

在Plotly for Python中,我们有一个漂亮的多个y轴示例: 在此输入图像描述 这是代码的链接.

我尝试使用此代码在R中使用Plotly执行相同的操作:

  library(plotly)

x <- 1:4
y1 <- c(1,2,3,4)
y2 <- c(4,3,2,1)
y3 <- c(1,4,1,4)
y4 <- c(4,1,4,1)

test <- data.frame(x, y1, y2, y3, y4)

plot_ly(data = test, x = ~x, y = ~y1
        ,type = "scatter", mode = "lines", width = 800, color = I("red")
        ,name = "name01") %>%
  add_trace(x = ~x, y = ~y2, yaxis = "y2", color = I("blue"), name = "name02") %>%
  add_trace(x = ~x, y = ~y3, yaxis = "y3", …
Run Code Online (Sandbox Code Playgroud)

r plotly

8
推荐指数
1
解决办法
2346
查看次数

从R中的Plotly导出PNG文件而不用互联网

在这个问题中,从R中的Plotly导出PNG文件我询问了如何将Plotly图导出到磁盘.

我使用了该功能plotly_IMAGE,但后来发现该功能使用了Plotly互联网服务器.

问题是,现在Plotly JavaScript是本地的,如何在没有互联网的情况下创建一个png本地文件?

我试过这段代码但没有成功:

library(plotly)
png(filename = "test.png")
plot_ly(x = 1:10)
dev.off()
Run Code Online (Sandbox Code Playgroud)

我们的想法是在没有点击图表上的导出按钮的情况下进行编程.

r plotly r-plotly

7
推荐指数
2
解决办法
3219
查看次数

从Java中在Rserve中执行库时出错

当我从RStudio启动Rserve并尝试使用RSclient连接到Rserve时,如下面的代码所示:

#Loading Libraries
library(Rserve)
library(RSclient)

#Loading Rserve
Rserve(args='--no-save --slave')

#Open Connection to Rserve and Executing openNPL
conn <- RS.connect(port=6311)
RS.eval(conn,library(openNLP))
Run Code Online (Sandbox Code Playgroud)

一切正常.

但是如果我尝试从命令行启动Rserve(模拟Java的功能).作为代码:

#loading Rserve from command line, to simulate what java does.
#Using Mac OS 10.10.2
/Library/Frameworks/R.framework/Resources/bin/R CMD /Library/Frameworks/R.framework/Versions/3.2/Resources/library/Rserve/libs//Rserve --no-save --slave --RS-port 6311

#in RStudio
#Loading Rclient
library(RSclient)

#Loading Rserve
Rserve(args='--no-save --slave')

#Open Connection to Rserve and Executing openNPL
conn <- RS.connect(port=6311)
RS.eval(conn,library(openNLP))
Run Code Online (Sandbox Code Playgroud)

我在RStudio中收到此错误:

rsc_abort: connection closed by peer
Error in RS.eval(conn, library(openNLP)) : 
  read error …
Run Code Online (Sandbox Code Playgroud)

java r rjava rserve

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

使用R中的另一个函数停止功能评估

return在R中使用嵌套函数进行了测试,但没有成功.我来自Mathematica,这段代码效果很好.这是一个玩具代码:

fstop <- function(x){
  if(x>0) return(return("Positive Number"))
}

f <- function(x){
  fstop(x)
  "Negative or Zero Number"
}
Run Code Online (Sandbox Code Playgroud)

如果我评估f(1),我得到:

[1] "Negative or Zero Number"
Run Code Online (Sandbox Code Playgroud)

当我期待的时候:

[1] "Positive Number"
Run Code Online (Sandbox Code Playgroud)

问题是:我可以做一些非标准的评估fstop,所以我可以得到fstop结果,没有改变f功能?

PS:我知道我可以把if直接放在里面f,但在我的实际情况下,结构并不那么简单,这种结构会使我的代码更简单.

evaluation r

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

在 R 中的变量中创建带有元素名称的列表

我怎样才能从这里得到:

names <- c("a", "b")
values <- c(1, 2)
Run Code Online (Sandbox Code Playgroud)

对此:

list(
     list("a" = 1)
    ,list("b" = 2)
    )
Run Code Online (Sandbox Code Playgroud)

我知道这不起作用:

ll <- list()
for(n in 1:length(names)){
  ll <- append(ll, list(names[n] = values[[n]]))
}
Run Code Online (Sandbox Code Playgroud)

有什么线索吗?

r

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

使用 dplyr 获取 R 中 data.frame 列总和的更好方法

为了将列sum的值放入data.frame变量中,我这样做了:

library(dplyr)
data <- data.frame("x" = c(1,2,3), "y" = c("a","b","c"))
way01 <- data %>% filter(y == "d") %>% summarise(total = sum(x)) %>% .$total
way02 <- data %>% filter(y == "d") %>% .$x %>% sum
Run Code Online (Sandbox Code Playgroud)

summarise(total = sum(x)) %>% .$total我觉得这样做很笨拙%>% .$x %>% sum。有更优雅的方法吗?

我想要类似的东西%>% sum(.$x),但它不起作用。

PS:建议用作过滤器,以处理没有问题的"d"情况。numeric(0)

r dataframe dplyr

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

BigQuery 中的新 PIVOT 函数

今天 BigQuery 发布了一个新的很酷的函数PIVOT

下面是它是如何工作的:

with Produce AS (
  SELECT 'Kale' as product, 51 as sales, 'Q1' as quarter UNION ALL
  SELECT 'Kale', 23, 'Q2' UNION ALL
  SELECT 'Kale', 45, 'Q3' UNION ALL
  SELECT 'Kale', 3, 'Q4' UNION ALL
  SELECT 'Apple', 77, 'Q1' UNION ALL
  SELECT 'Apple', 0, 'Q2' UNION ALL
  SELECT 'Apple', 25, 'Q3' UNION ALL
  SELECT 'Apple', 2, 'Q4')

SELECT * FROM
  (SELECT * FROM Produce)
  PIVOT(SUM(sales) FOR quarter IN ('Q1', 'Q2', 'Q3', 'Q4'))


+---------+----+----+----+----+
| product …
Run Code Online (Sandbox Code Playgroud)

sql pivot google-bigquery

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

我在哪里可以找到neo4j jdbc驱动程序?

官方neo4j页面提到了jdbc驱动程序测试(这里).但是jdbc链接似乎被打破了.

有人知道在哪里可以找到neo4j的jdbc驱动程序(jar文件)?

jdbc neo4j

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