在R中,dyplr您拥有%>%允许您将函数输出传递给新函数的运算符,从而无需存储中间值.在julia中,您可以通过使用|>运算符实现非常相似的功能.
2 |> log |> sqrt
Run Code Online (Sandbox Code Playgroud)
对我而言,这比阅读更好sqrt(log(2)).特别是当链条变得很长时.我想用这个语法,但也对map,reduce型功能朱莉娅.
from = "abcdefghijklmnopqrstuvwxyz"
to = "cdefghijklmnopqrstuvwxyzab"
trans = "g fmnc wms bgblr rpylqjyrc gr zw fylb <>"
d = {from[i] => to[i] for i = 1:26}
d[' '] = ' '
Run Code Online (Sandbox Code Playgroud)
map(x -> d[x], filter(x -> isalpha(x) || isspace(x), trans))
Run Code Online (Sandbox Code Playgroud)
这样可行,但它读起来并不像我希望的那样好.另一种方法是将中间结果存储到变量中,但这似乎也很冗长:
res1 = filter(x -> isalpha(x) || isspace(x), trans)
map(x -> d[x], res1)
Run Code Online (Sandbox Code Playgroud)
R语法与此类似:
trans |>
filter(x …Run Code Online (Sandbox Code Playgroud) 我正在使用Rstudio作为我日常的R东西.有时,我想使用一些python/bash来表示R不擅长的部分.奇怪的是,我注意到如果我开始一个新的RMarkdown文档,以下代码可以工作:
```{r engine='python'}
print "Hello" + "World"
import random
print random.random()
```
Run Code Online (Sandbox Code Playgroud)
Rstudio可以运行一些python.这非常有用,但我最好不仅可以通过降价功能运行,还可以通过控制台运行.在发行说明中,建议支持语法突出显示.
我想知道,是否有任何方法可以将新控制台连接到Rstudio,以便我们也可以从IDE执行一些python/bash?看起来Rstudio似乎有一个如何连接到python的概念.最终目标是创建.Rmd文档并能够编辑/交互具有以下结构的文档:
# Use Case
Connect to an api that is supported in python
```{r engine='python', highlight=TRUE}
data = foobar_api.get(1000)
file_loc = open("~/data/filename.csv", "w")
file_loc(data)
file_loc.close()
```
Then analyse with R again.
```{r}
df <- read.csv("~/data/filename.csv")
summary(df)
```
Run Code Online (Sandbox Code Playgroud) 我想我的第一个错误是因为拼写错误而绊倒了.
我用R和dplyr运行以下代码.
> foobar = c(1,2,3)
> foobar %>% as.character
[1] "1" "2" "3"
Run Code Online (Sandbox Code Playgroud)
这工作正常,现在我尝试通过匿名函数运行它.
> foobar %>% function(x) x * 2
Error: Anonymous functions myst be parenthesized
Run Code Online (Sandbox Code Playgroud)
知道发生了什么事吗?(我需要ping的地方才能将'myst'更正为'must')?
在R(感谢magrittr/ dplyr)你现在可以调用没有括号的函数,但你可以管它们.
这意味着不是编码:
> as.character((sqrt(12)^2)
> as.Date("2014-01-01")
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
> 12 %>% sqrt %>% .^2 %>% as.character
> "2014-01-01" %>% as.Date
Run Code Online (Sandbox Code Playgroud)
R广泛使用它来编辑数据帧.除了数据帧之外,我觉得这种语法对于创建功能脚本非常易读且功能强大.
朱莉亚语言是否支持类似的东西?
成功安装节点后,我得到以下内容;
$ npm
nodenv: couldn't find any version specified for use
$ node
nodenv: couldn't find any version specified for use
Run Code Online (Sandbox Code Playgroud)
有谁知道这是从哪里来的?我通过Mac上的标准教程安装了node/npm但是我一直收到这个错误.我应该做些什么,但没有?
上一个问题表明此错误是由于boxen造成的.事实并非如此,所以我稍微改变了一下这个问题以避免混淆.
使用jquery,似乎有两种方法可以在DOM中的无序列表中查找列表项.
$("ul>li");
Run Code Online (Sandbox Code Playgroud)
和
$("ul").find("li");
Run Code Online (Sandbox Code Playgroud)
有没有理由说后者可能更合适?似乎需要更多代码来获得相同的结果.
在R语言中,我能够声明一个函数并查看函数的主体,如下所示:
> megafoobar = function(x){ return(x + 10000 )}
> body(megafoobar)
{
return(x + 10000)
}
Run Code Online (Sandbox Code Playgroud)
朱莉娅也有可能这样吗?我写了一个非常有用的函数,它仍然在内存/可调用,但我忘了我是如何编写的.我希望朱莉娅有这样的方法,所以我可以找到我是如何写的.
我在一台aws机器上安装了一个新版本的R(由于某种原因,它总是带有旧版本,而且几乎不可能只有 yum或apt-get工作).我希望rstudio指向这个我从源代码构建的新版本,而不会抛弃旧版本.因此,我转到/etc/rstudio/rserver.conf(文档)并将内容更改为:
# Server Configuration File
rsession-which-r=/root/R-3.2.1/bin/R
Run Code Online (Sandbox Code Playgroud)
我可以确认在这个位置安装了新版本的R,但是在rstudio-server重启后我得到了一个错误.
root@ip-172-31-40-49 rstudio]$ rstudio-server restart
initctl: Unknown instance:
Run Code Online (Sandbox Code Playgroud)
我是什么做的?
我正在努力教自己一些scala.我被困在一些似乎武断的东西.我想比较天气两个字符是否相等.
真实的例子
这些按预期返回true
"(" == "("
"(".equals("(")
Run Code Online (Sandbox Code Playgroud)
我要检查什么
"(an exampl(e))".toList(0) // res : Char = (
Run Code Online (Sandbox Code Playgroud)
不知何故是假的
这些返回false
"(an exampl(e))".toList(0).equals("(")
"(an exampl(e))".toList(0) == "("
"(an exampl(e))".toList.head == "("
Run Code Online (Sandbox Code Playgroud)
我想我在这里遗漏了一些东西.我是否将字符值与列表指针进行比较?如果是这样,我如何检查我指向的项目的值是否等于"("?