小编Ben*_*Ben的帖子

执行当前 Rmarkdown 块并移至 RStudio 中的下一个

RStudio 有一个本机功能(和键盘快捷键)来运行Rmarkdown 中的下一个块并将光标移动到它 ( Ctrl + Alt + N)。我希望能够运行当前块并将光标移动到下一个块。我只想连续运行每个块,而不跳过第一个块,并查看我将要运行的内容。有没有办法做到这一点?我必须写一个插件吗?

keyboard-shortcuts rstudio r-markdown

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

R 中的快速地理空间采样

我有一大组多边形(大约 20k),我想从中采样点。我使用R 中的包st_sample中的函数sf,但它非常慢。从所有多边形中采样大约需要 5 分钟,而且我需要多次重复此任务 (N >= 1000),因此不切实际。

有没有办法进行更快的采样?

r geospatial sampling r-sf

5
推荐指数
0
解决办法
402
查看次数

如何用我自己的方法和函数扩展 pandas 的 Dataframe 类

第一个问题:

我正在使用 pandas 的 DataFrame,并且经常运行相同的例程作为数据预处理和其他操作的一部分。我想将其中一些例程编写为名为ExtendedDataframeextends 的类中的方法pandas.DataFrame。我不知道该怎么办。到目前为止,我没有__init__在新类中编写任何内容,因此它继承自pandas.DataFrame

import pandas
class ExtendedDataframe(pandas.DataFrame):
  def some_method(self):
    blahblah
Run Code Online (Sandbox Code Playgroud)

这显然使我能够通过继承创建一个实例ExtendedDataframe。但我通常通过类似pandas.read_csv返回经典DataFrame. 除了标准提供的方法之外,我怎样才能加载此类 csv 数据并在某个时候将其转换为ExtendedDataframe使用我自己的方法DataFrame?如果加载阶段返回一个标准DataFrame,然后我将其转换为ExtendedDataframe.

第二个问题:

并非我使用的所有 pandas 功能都是 DataFrame 方法。pandas.merge有些是以DataFrames 作为参数的函数,例如。如何将此类函数的使用扩展到我的ExtendedDataframe类的实例?换句话说,如果df1df2是 的两个实例ExtendedDataframe,我该如何制作

pandas.merge([df1, df2], ...)
Run Code Online (Sandbox Code Playgroud)

就像使用DataFrame?的标准实例一样工作

python inheritance class dataframe pandas

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

获取提供给 purrr::pmap 调用的参数

我正在运行一个带有许多参数的函数,我正在探索某些参数的变化如何影响函数的输出。我正在通过purrr::pmap. 我想跟踪用于每个函数调用的参数:我希望函数返回其输出,以及所有使用的参数值的命名列表。

这是一个 MWE:

f <- function (a, b, c) a + b + c
a_values <- 1:5
effect_of_a <- pmap(list(a = a_values), f, b = 0, c = 0)
Run Code Online (Sandbox Code Playgroud)

我想effect_of_a成为一个列表列表,其中每个子列表不仅包含结果f(a,b,c),还包含使用的 a、b 和 c 的值。我可以手动编码该列表,但我有很多参数,它们可能会改变。那么有没有办法在由 发起的函数调用中捕获参数列表及其值purrr:pmap

arguments r pmap purrr

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