我有一个数据框:
library(tidyverse)
df <- tribble(~col1, ~col2, 1, 2)
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个列。我在字符串中有新列的名称。它确实像这样工作:
df %>%
mutate("col3" = 3)
# A tibble: 1 x 3
col1 col2 col3
<dbl> <dbl> <dbl>
1 1 2 3
Run Code Online (Sandbox Code Playgroud)
但它不是这样工作的:
newColumnName <- "col3"
df %>%
mutate(newColumnName = 3)
# A tibble: 1 x 3
col1 col2 newColumnName
<dbl> <dbl> <dbl>
1 1 2 3
Run Code Online (Sandbox Code Playgroud)
如何创建一个从对象中的字符串获取其名称的新列?
我有一个包含以下内容的工作目录
readdir()
6-element Vector{String}:
"Manifest.toml"
"Project.toml"
"Report"
"main.jl"
"src"
"test.jl"
Run Code Online (Sandbox Code Playgroud)
我可以在这里识别文件夹:
filter(isdir, readdir())
2-element Vector{String}:
"Report"
"src"
Run Code Online (Sandbox Code Playgroud)
我可以显示子文件夹的内容Report:
readdir("Report/")
3-element Vector{String}:
"jl_ACKKIu"
"jl_zfa8Ys"
"test.pdf"
Run Code Online (Sandbox Code Playgroud)
那么,为什么我无法识别子文件夹中的文件夹呢?
filter(isdir, readdir("Report/"))
String[]
Run Code Online (Sandbox Code Playgroud) 我有一根绳子
a = """
---
title: Just a test
author: Me
date: 2022-01-03
---
# Test Header
Some text.
"""
Run Code Online (Sandbox Code Playgroud)
我想从中创建一个文件foobar.jmd。这样做的最佳方法是什么?
我想在RMarkdown中增加数字周围的空间.我编织成PDF并且真的不喜欢文字或下图中有多近的数字(或方程式).
---
output: pdf_document
---
```{r pressure, echo=FALSE}
plot(pressure)
```
```{r pressure2, echo=FALSE}
plot(pressure)
```
Run Code Online (Sandbox Code Playgroud)
两个图之间的空间太小,使用ggplots时会变得更加模糊.
现在我使用Latex解决方案
\vspace{10pt}
Run Code Online (Sandbox Code Playgroud)
但如果我可以为整个文档进行全局设置,那就太好了.
我想分割一个数据框
df <- data.frame(a = 1:4, b = letters[1:4])
a b
1 1 a
2 2 b
3 3 c
4 4 d
Run Code Online (Sandbox Code Playgroud)
进入单行数据框列表
list(
data.frame(a = 1, b = letters[1])
, data.frame(a = 2, b = letters[2])
, data.frame(a = 3, b = letters[3])
, data.frame(a = 4, b = letters[4])
)
[[1]]
a b
1 1 a
[[2]]
a b
1 2 b
[[3]]
a b
1 3 c
[[4]]
a b
1 4 d
Run Code Online (Sandbox Code Playgroud)
有一个优雅的解决方案吗?
我想像这样转动一个数组
[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
进入滞后版本
[missing,1,2,3,4] # lag 1
[missing,missing,1,2,3] # lag 2
Run Code Online (Sandbox Code Playgroud)
或 LED 版本
[2,3,4,5,missing] # lead 1
[3,4,5,missing,missing] # lead 2
Run Code Online (Sandbox Code Playgroud)
由于 Julia 是为科学计算而设计的,所以肯定有这样的东西,对吧?
我有两个(数学)函数:
y = x
y = -2x + 3
Run Code Online (Sandbox Code Playgroud)
这由y = 1和解决x = 1。见图片:
我怎样才能让朱莉娅为我做这件事?
我有这个数据框
library(tidyverse)
df <- tribble(
~a, ~b, ~c
, 1, 1, 1
, 1, 0, 2
, 1, 0, 3
, 2, 0, 1
, 2, 1, 2
, 2, 1, 3
)
Run Code Online (Sandbox Code Playgroud)
我想添加一列dcontains 按满足条件a的第一个值分组,就像这样......cb == 1
tribble(
~a, ~b, ~c, ~d
, 1, 1, 1, 1
, 1, 0, 2, 1
, 1, 0, 3, 1
, 2, 0, 1, 2
, 2, 1, 2, 2
, 2, 1, 3, 2
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?(最好使用 …
我正在研究 Collatz 猜想(见下文),并且我有这个函数:
\nfunction txpo(max_n)\n for n \xe2\x88\x88 1:max_n\n x = n\n while x \xe2\x89\xa5 n && x != 1\n x = iseven(x) ? x\xc3\xb72 : 3x+1\n end\n end\nend\nRun Code Online (Sandbox Code Playgroud)\n我故意不返回任何东西或检查任何东西,以使其尽可能快。天哪,速度快吗... - 实际上太快了,我想。
\nusing BenchmarkTools\n@btime txpo(100_000_000_000_000_000_000_000_000_000_000_000_000)\n\n2.337 ns (0 allocations: 0 bytes)\nRun Code Online (Sandbox Code Playgroud)\n运行10^38个while循环只需要2ns?朱莉娅很快,但如果有那么快我会感到惊讶。看起来代码没有被评估。或者我在这里缺少什么?
Collatz 猜想\n取一个整数并使用以下规则构建一个级数:如果该数字是偶数除以 2;如果数字是奇数乘以3并加1。猜想:每个系列都会进入循环4-2-1-4。
我有一个函数
\nfunction foo()\n return sum(rand([1,0], 5))\nend\nRun Code Online (Sandbox Code Playgroud)\n它正在做一些事情,包括随机数生成。如何多次重复函数调用并将结果存储在数组中。我知道我可以进行数组理解......
\n[foo() for i in 1:10]\nRun Code Online (Sandbox Code Playgroud)\n但我有一种感觉,一定有类似的东西repeat(),你可以用它来填充相同值的数组:
julia> repeat([4],3,4)\n\n3\xc3\x974 Matrix{Int64}:\n 4 4 4 4\n 4 4 4 4\n 4 4 4 4\nRun Code Online (Sandbox Code Playgroud)\n