问题列表 - 第318002页

在 Cypress 中,XLSX 文件的读取并不总是正确

我有一个前端 Angular 应用程序,在其中实现 Cypress 测试。

但 XLSX 文件的读取并不总是正确。

如果我这样做:

cy.readFile('cypress/downloads/myfile.XLSX');
Run Code Online (Sandbox Code Playgroud)

它实际上确实按预期读取了文件。

但是如果我这样做:

cy.readFile('cypress/downloads/myfile.XLSX').should('contain', 'mytext');
Run Code Online (Sandbox Code Playgroud)

即使我知道它在文件中,它也不会读取“mytext”。

我知道我在语法上是正确的,因为它可以很好地读取 .xls 文件中的文本。

有什么方法可以让 cypress 查找带有 .XLSX 文件的文本吗?

非常感谢。

xlsx angular cypress

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

保存 ggplot 对象以用于不同的数据集

我们都知道我们能做到

p <- ggplot(data)
p + aes(x = funny_hat) + geom_histogram()
Run Code Online (Sandbox Code Playgroud)

但我从未见过相反情况的文档。假设我想存储一堆 ggplot 对象,例如:

geom_boxplot() + stat_compare_means(method = "anova", size = 14, vjust = 1) +
scale_y_continuous(breaks = seq(-2,2.5, 0.5)) + theme(text = element_text(size = 48))
Run Code Online (Sandbox Code Playgroud)

...这样我就可以将所有这些插入不同的数据集,例如

ggplot(data1) + [all my arguments]
ggplot(data2) + [all my arguments]
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用与第一个示例中相同的方法,这将不起作用,但是有没有办法做到这一点?我已经厌倦了复制粘贴...

r ggplot2

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

当编织到html时,库(printr)与data.table的“:=”交互?

我有一个在 rstudio 控制台中运行的 markdown 文件,但是当我尝试将其编织成 html 时,它会花费很长时间。我花了很长时间的尝试和错误才确定似乎包含“printr”库会触发 data.table 的 := 分配,通过尝试打印整个表(在我的情况下非常大)来挂起编织)。这是演示这一点的代码。这是 printr 的已知“功能”吗?值得指出的是,即使代码块是results='hide'orinclude=FALSE并且表格没有在 html 中显示,包含 printr 的代码仍然会运行得很慢。

library(data.table)
library(bit64)
library(printr) # printr will make data.table := to print out the data in knit?
#test_n = 4000000 # with 4000000 and printr included it will take forever
test_n = 4000

print("slow chunk start:")
print(Sys.time())
DT = data.table(a = as.integer(1:test_n),
                b = as.integer64(1:test_n),
                c = as.integer(1:test_n))
DT[, seq:=1:.N] # whole table will print if printr is included
print(DT[1:10]) …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown data.table

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

为什么第二个函数不等到第一个(异步)函数完成后才触发?(反应)

我需要做什么才能等到doSomethingWithItems()完成后fetchItems()?

const [items, setItems] = useState();

const fetchItems = async () => {
  try {
    let responseData = await sendRequest(`${process.env.REACT_APP_BACKEND_URL}/items/user/${userId}`);
    setItems(responseData.items);
  } catch (err) {}
};

const doSomethingWithItems = () => {
  const filteredItems = items.filter(x => x.title === 'something');
  setItems(filteredItems);
}

useEffect(() => {
  fetchItems(); // ** WAIT FOR THIS TO FINISH BEFORE MOVING ON **
  doSomethingWithItems();
}, []);
Run Code Online (Sandbox Code Playgroud)

async-await reactjs react-hooks

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

使用 dplyr、cumsum 和 lag 的陈旧库存计划

这是我经过多年被动浏览后在 stackoverflow 上发表的第一篇文章。我被这个问题困扰了,这让我发疯!非常感谢您的帮助。

我有一个按年龄划分的库存供应和需求的数据框架。我已经收集了许多产品的不同时间的数据。一定年龄的库存需求可以通过相同年龄或更年轻的供应来满足。我正在尝试计算每个年龄段(从最年轻到最年长)的供应量可以满足多少需求。

数据框会很大(10^7 行),所以我尝试使用dplyr、mutate、lag和cumsum与循环来执行此操作,我怀疑这会很慢。

这是我的数据集中的一个示例组(省略了产品和日期分组):

library(dplyr)

Inventory <- data.frame(
  Age = c(90, 120, 270, 365, Inf),
  Demand = c(0, 5000, 25, 5000, 10),
  Supply = c(4000, 50, 4000, 300, 0))

View(Inventory)
Run Code Online (Sandbox Code Playgroud)

我期待的结果是:

Result <- Inventory
Result$Start = c(0, 4000, 0, 3975, 0)
Result$In = c(4000, 50, 4000, 300, 0)
Result$Out = c(0, 4050, 25, 4275, 0)
Result$End = c(4000, 0, 3975, 0, 0)
Result$Short = c(0, 950, 0, 725, 10) …
Run Code Online (Sandbox Code Playgroud)

r inventory-management dplyr

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

为什么我所有的“this”指针都是相同的值?

我正在研究以下代码片段:

#include <iostream>                                                                                                                                                                                            
#include <vector>

class myclass
{
    public:
        myclass()
        {
            std::cout << this << std::endl;
        }
};

int main()
{
    std::vector<myclass> v;
    for(uint32_t i = 0; i < 10; i++)
        v.push_back(myclass());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 编译代码g++ main.cpp。当我执行编译的二进制文件时,我得到:

0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
0x7ffebb8f8cab
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么所有的this指针都是相同的?如果我创建同一类的 10 个不同对象,则应该有 10 个不同的this指针。正确的?

据我了解,我的代码当前正在使用相同对象的引用来填充向量v。然而,我想要的是 10 个不同的对象myclass。我怎样才能得到这个?此代码是一个较大项目的一部分,该项目在new和方面存在一些问题delete。所以我无法使用该 API。我做错了什么以及如何解决这个问题?

c++ pointers this

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

应用 lpSolveAPI

我有许多变量表示我可以更换的设备。更换后,它们会改善影响指标[I]。每个还具有相关的年度成本节省[S]和更换成本[C]。

n <- 1000 # variable count

# impact
# negative for use in minimization function
I <- -rnorm(n, mean=20000, sd=8000)
# cost savings
s <- rnorm(n, mean=2500, sd=1000)
# replacement cost
c <- rnorm(n, mean=15000, sd=5000)
Run Code Online (Sandbox Code Playgroud)

我想选择要替换的组件,以在预算范围内最大限度地发挥全面影响,同时仍然确保整个项目(作为一个整体)满足简单的投资回收目标。

payback_goal <- 3
budget <- 1000000
Run Code Online (Sandbox Code Playgroud)

这个问题由下面的方程描述。

在此输入图像描述

我正在努力设置这个lpSolveAPI。具体来说,我不知道如何合并方程式。3.

library(lpSolveAPI)
m <- 2 # number of constraints, disregarding binary constraint set by type
my.lp <- make.lp(m, n)
set.row(my.lp, 1, c)
# i don't think this …
Run Code Online (Sandbox Code Playgroud)

r mathematical-optimization linear-programming lpsolve

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

是否有 API 调用可以找出用于 Python `hash()` 函数的随机种子?

我知道,如果PYTHONHASHSEED环境变量未设置或设置为,"random"则哈希函数(用于set、frozenset和dict)将使用随机数加盐。

所以我想知道是否有可能找出程序的给定运行使用的值。

对于上下文,我的 Python 程序会生成一些输出,我想确保它对于程序的每次运行都是确定性的。在不同的点,程序会迭代各种set和frozenset对象中的值。对于迭代顺序将影响生成的输出的情况,我首先在迭代之前对元素进行排序。但代码相当复杂,因此并不总是很明显哪些情况需要排序,哪些情况不需要,而且我不想进行不必要的排序。

所以我想编写一些单元测试来捕获并修复需要添加排序迭代的情况。为了做到这一点,我计划使用multiprocessing.Process(在spawn模式下)运行程序,其中我显式设置了PYTHONHASHSEED环境变量。

但要做到这一点,我需要确定为相同输入产生不同输出的种子值。但我还没有找到任何有记录的 API 可以告诉我在给定的程序运行中使用了什么随机种子。

python

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

自动检测自定义 ggplot2 中的离散或连续调色板

我正在开发一个名为ipeaplot主题和调色板标准化的包。我们所做的尝试之一是创建一个scale_color()能够区分用户传递的是连续列还是离散列的函数(例如,如果列类是数字或整数,则尺度选择应该是连续的,否则应该是离散的)

下面是代码示例

# Install package
remotes::install_github("ipeadata-lab/ipeaplot")
library(ggplot2)
library(ipeaplot)
Run Code Online (Sandbox Code Playgroud)

这段代码可以工作,但是请注意我必须指定我想要的是连续的比例

ggplot(data = mtcars, aes(x = mpg, y = hp, color = gear)) +
  geom_point() + 
  scale_color_ipea(discrete = F)
Run Code Online (Sandbox Code Playgroud)

此代码返回以下错误:“错误:向离散刻度提供连续值”

ggplot(data = mtcars, aes(x = mpg, y = hp, color = as.character(gear))) +
  geom_point() + 
  scale_color_ipea(discrete = T)
Run Code Online (Sandbox Code Playgroud)

所以我需要手动设置,scale_color_ipea(discrete = T)但我希望该功能能够自动检测列的类别并相应地使用足够的色标。

ggplot(data = mtcars, aes(x = mpg, y = hp, color = as.character(gear))) +
  geom_point() + 
  scale_color_ipea(discrete = T)
Run Code Online (Sandbox Code Playgroud)

有人会建议如何做到这一点吗?

r ggplot2

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

为什么允许在带有两个 monad 值的函数上使用 `ap`,而不是在 monad 中包装的函数上使用?

这是哈斯克尔代码:

zipWith compare `ap` tail
Run Code Online (Sandbox Code Playgroud)

在哪里

zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
compare :: a -> a -> Ordering 
ap :: Monad m => m (a -> b) -> m a -> m b
Run Code Online (Sandbox Code Playgroud)

因此,根据我的理解,ap在这种情况下将需要一个包装在列表单子内的函数,即它的 need m (a -> b),这应该是由zipWith compare但我不知道如何实现的,因为zipWith compare将采用[a] -> [a] -> [Ordering]不太正确的类型。列表 monad 的幕后是否发生了一些导致必要的类型转换的事情?

该代码有效,不是我自己的作品,我只是想了解它是如何被允许的。

monads haskell

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