我仍然不完全清楚如何将某些表达式传递给dplyr.
我想在mutate中使用用户定义的函数,并能够将列名称作为字符传递.我用interp {lazyeval}尝试了一些没有成功的东西.
请参阅下面的虚拟示例.
library(dplyr)
library(lazyeval)
# Define custom function
sumVar <- function(x, y) { x + y }
# Using bare column names (OK)
iris %>%
mutate(newVar = sumVar(Petal.Length, Petal.Width))
# Using characters for column names (does not work)
iris %>%
mutate_(newVar = sumVar('Petal.Length', 'Petal.Width'))
Run Code Online (Sandbox Code Playgroud) 是否可以删除包含在 xarray 数据集中的 DataArrays 的值,以便xr_dataset将其转换为xr_flat下面的示例代码?
import xarray as xr
import numpy as np
n = np.nan
a = np.array([[n,n,1],
[1,2,2],
[2,n,n]], dtype='float32')
b = np.random.rand(3,3)
xr_dataset = xr.Dataset({'a': xr.DataArray(a, dims=['x', 'y']),
'b': xr.DataArray(b, dims=['x', 'y'])})
a_flat = a[np.isfinite(a)]
b_flat = b[np.isfinite(a)]
xr_flat = xr.Dataset({'a': xr.DataArray(a_flat),
'b': xr.DataArray(b_flat)})
Run Code Online (Sandbox Code Playgroud)