我有一个相对简单的问题(我认为),我想以快速有效的方式解决它。
我想计算向量中直到该向量中每个点的不同元素的数量。
例如,在这样的向量中
vec <- c("a", "b", "c", "a", "a", "c", "d", "a")
我想得到以下相同大小的向量:
[1 2 3 3 3 3 4 4]
我当然可以通过for循环结合来解决这个问题cumsum():
vec <- c("a", "b", "c", "a", "a", "c", "d", "a")
res <- T
for (i in 2:length(vec)) {
res[i] <- !(vec[i] %in% vec[1:(i-1)])
}
cumsum(res)
[1] 1 2 3 3 3 3 4 4
Run Code Online (Sandbox Code Playgroud)
然而,我正在处理具有数百万个元素的向量,对于这样一个相对简单的问题,for 循环方法需要很长时间。
我的直觉是,这应该可以更快、更聪明地解决。你有什么想法?谢谢你!
(如果您感兴趣:我需要这个来进行词汇增长曲线分析,我们想知道到目前为止在文本中的每个点观察到了多少不同的单词(即类型)。)
我希望能够按住 CTRL,这样我就可以在多行上键入“V”来一遍又一遍地粘贴相同的内容。这就是我更新到 8.6 之前 Notepad++ 的表现。现在,如果我仍然按住 CTRL 键,它将继续粘贴到我之前粘贴过的所有位置。
这是由于新的多重编辑功能,我强烈希望将其关闭。不幸的是,OFF 开关似乎不存在(至少在 v8.6 中)。是否可能存在隐藏的配置文件,我可以在其中更改此设置?
我检查了 Notepad++ Settings -> Preferences -> Editing,但没有任何与多重编辑相关的内容。
考虑以下片段:
from typing import TypeVar
import numpy as np
T = TypeVar("T", float, np.ndarray)
def f(x: T) -> T:
"""
expects a float or an array and returns an output of the same type
"""
return x * 2
f(1) # ok
f(np.array([1, 2, 3])) # ok
def g(x: float | np.ndarray) -> float | np.ndarray:
"""
expects either a float or an array
"""
return f(x) / 2 # should be fine, but pyright complains about type
Run Code Online (Sandbox Code Playgroud)
我创建了一个 TypeVar …
我正在尝试向猫学习功能随机。这是大类中的方法:
def prepareDate(order: Model, zoneId: String): F[Instant] =
Random[F].betweenLong(7200, 21600).flatMap { seconds =>
order.dateTime
.plusSeconds(seconds)
.toInstant(ZoneOffset.of(zoneId))
.asInstanceOf[F[Instant]]
}
Run Code Online (Sandbox Code Playgroud)
它编译时不会No given instance of type cats.effect.std.Random[F] was found for parameter ev of method apply in object Random.出错
我尝试以这种方式将 Random 放入其中:
class SomeClass[F[_]: Async: Logger: Random]
Run Code Online (Sandbox Code Playgroud)
但不知道如何将其隐含在对象伴侣中。
考虑以下应用:
我希望每次单击按钮时,都会LineChart删除第一个数据。点击后的输出必须如下:
第一次点击后
第二次点击后
第三次点击后
但是,第一次点击后,我得到以下信息ClassCastException:
Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')
at javafx.controls@18/javafx.scene.chart.LineChart.createDataRemoveTimeline(LineChart.java:503)
at javafx.controls@18/javafx.scene.chart.LineChart.dataItemRemoved(LineChart.java:359)
at javafx.controls@18/javafx.scene.chart.XYChart.dataItemsChanged(XYChart.java:505)
at javafx.controls@18/javafx.scene.chart.XYChart$Series$1.onChanged(XYChart.java:1474)
at javafx.base@18/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
at javafx.base@18/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
at javafx.base@18/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
at javafx.base@18/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
at javafx.base@18/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
at javafx.base@18/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
at javafx.base@18/javafx.collections.ModifiableObservableListBase.remove(ModifiableObservableListBase.java:190)
at com.example.demo/com.example.demo.MyApplication.lambda$start$0(MyApplication.java:21)
at javafx.base@18/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at javafx.base@18/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base@18/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@18/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@18/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试绘制 Likert 类型的数据,并使用改编自该网站的代码:https://scisley.github.io/articles/ggplot-likert-plot/
重现该示例的代码:
# load packages
library(dplyr)
library(ggplot2)
library(knitr)
library(tidyr)
library(scales)
# Simulation N responses
N <- 50
answers <- c("Strongly Disagree","Somewhat Disagree","Neither Agree nor Disagree",
"Somewhat Agree", "Strongly Agree")
set.seed(12342)
d <- tibble(
id = paste0("Respondent", 1:N),
Q1 = sample(answers, N, replace=TRUE),
Q2 = sample(answers, N, replace=TRUE),
Q3 = sample(answers, N, replace=TRUE),
Q4 = sample(answers, N, replace=TRUE),
Q5 = sample(answers, N, replace=TRUE)
)
# reduce data
d.reduced <- d %>%
select(-id) %>%
gather("Q", "ans") %>%
group_by(Q, ans) …Run Code Online (Sandbox Code Playgroud) 我正在使用 Cypress 编写自动化测试用例。
我需要循环遍历该元素的所有子元素并验证其数据。问题是,除了第一个孩子之外,所有孩子都是带有<a>标签和值属性的对象。href
第一个被包装到span创建以下层次结构中:
parent -> span -> a with href value。
如何组织循环?
我尝试删除 span 元素,但它被删除时<a>里面有一个子元素
我有一个 VBA 宏,只要当前行中的级别列值不是前一行中的级别值的连续数字,它就会在 Excel 中插入一个空行,我使用的另一个条件是如果两个连续行中的级别相同,则跳过插入空白线。它可以很好地格式化我的 Excel 报告,但对于包含 4,50,000(45 万)行的报告,需要大约 18 分钟才能完成,这绝对会影响性能。
我的VBA代码是
Sub test()
Dim i As Long
Dim a As Long
Dim x As Integer
Dim r As Range
a = Cells(Rows.Count, "A").End(xlUp).Row
'MsgBox a
For i = a To 6 Step -1
'MsgBox i
x = Cells(i, "A").Value - Cells(i - 1, "A").Value
' MsgBox x
If Not (x = 0) And Not (x = 1) Then
Rows(i).Resize(1).Insert
End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
我无法充分利用外部脚本或手动解决方案,因为我需要提供格式化报告作为最终输出,而无需任何后处理步骤。因此尝试使用宏来实现这一点。
任何提高此性能的建议都会非常有帮助。
我正在尝试从 MongoDB 实例中的集合中检索一些文档。这是整个集合:
[
{
_id: ObjectId("65708c6237b62067296a398f"),
date: ISODate("2020-09-15T04:07:05.000Z"),
description: 'playstation',
category: 'miscellaneous',
cost: 499,
users: [ { username: 'Giacomo', amount: 499 } ]
},
{
_id: ObjectId("6570950cecb7eb1b4b868409"),
date: ISODate("2020-09-15T04:07:05.000Z"),
description: 'tennis court',
category: 'sport',
cost: 100,
users: [
{ username: 'prova', amount: 50 },
{ username: 'Giacomo', amount: 50 }
]
},
{
_id: ObjectId("6570953aecb7eb1b4b86840a"),
date: ISODate("2023-02-09T03:12:15.012Z"),
description: 'netflix subscription',
category: 'entertainment',
cost: 100,
users: [ { username: 'prova', amount: 10 } ]
}
]
Run Code Online (Sandbox Code Playgroud)
目前,我可以date使用以下查询检索具有特定年份的文档作为 值的一部分: …