小编Geo*_*ery的帖子

dplyr 中字符串的新列

我有一个数据框:

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)

如何创建一个从对象中的字符串获取其名称的新列?

r dplyr

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

识别子文件夹中的文件夹

我有一个包含以下内容的工作目录

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)

julia

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

在 Julia 中创建文本文件

我有一根绳子

a = """
---
title: Just a test
author: Me
date: 2022-01-03
---

# Test Header 
Some text.
"""
Run Code Online (Sandbox Code Playgroud)

我想从中创建一个文件foobar.jmd。这样做的最佳方法是什么?

julia

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

在RMarkdown中增加数字周围的空间

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

但如果我可以为整个文档进行全局设置,那就太好了.

r knitr r-markdown

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

将 Dataframe 拆分为单行 Dataframe 列表

我想分割一个数据框

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)

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

r

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

朱莉娅的滞后和领先

我想像这样转动一个数组

[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 是为科学计算而设计的,所以肯定有这样的东西,对吧?

julia

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

求解线性方程组

我有两个(数学)函数:

y = x
y = -2x + 3
Run Code Online (Sandbox Code Playgroud)

这由y = 1和解决x = 1。见图片:

在此处输入图片说明

我怎样才能让朱莉娅为我做这件事?

julia

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

Dplyr - 满足条件的第一个值

我有这个数据框

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)

我怎样才能做到这一点?(最好使用 …

r dplyr

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

Julia 没有评估该函数吗?

我正在研究 Collat​​z 猜想(见下文),并且我有这个函数:

\n
function 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\n
Run Code Online (Sandbox Code Playgroud)\n

我故意不返回任何东西或检查任何东西,以使其尽可能快。天哪,速度快吗... - 实际上太快了,我想。

\n
using 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)\n
Run Code Online (Sandbox Code Playgroud)\n

运行10^38个while循环只需要2ns?朱莉娅很快,但如果有那么快我会感到惊讶。看起来代码没有被评估。或者我在这里缺少什么?

\n
\n

Collat​​z 猜想\n取一个整数并使用以下规则构建一个级数:如果该数字是偶数除以 2;如果数字是奇数乘以3并加1。猜想:每个系列都会进入循环4-2-1-4

\n

julia

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

使用随机数生成进行重复评估

我有一个函数

\n
function foo()\n    return sum(rand([1,0], 5))\nend\n
Run Code Online (Sandbox Code Playgroud)\n

它正在做一些事情,包括随机数生成。如何多次重复函数调用并将结果存储在数组中。我知道我可以进行数组理解......

\n
[foo() for i in 1:10]\n
Run Code Online (Sandbox Code Playgroud)\n

但我有一种感觉,一定有类似的东西repeat(),你可以用它来填充相同值的数组:

\n
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\n
Run Code Online (Sandbox Code Playgroud)\n

julia

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

标签 统计

julia ×6

r ×4

dplyr ×2

knitr ×1

r-markdown ×1