该功能max()
在类型有序因子列上正确运行.但是,在对列进行分组时,相同的操作将失败by=
.
假设我有一个data.table:
DT <- data.table(ID=rep(1:3, 3), State=sample(LETTERS[1:3], 9, replace=TRUE))
Run Code Online (Sandbox Code Playgroud)
将列转换State
为有序因子:
DT[, State := factor(State, levels=LETTERS[1:3], ordered = TRUE)]
Run Code Online (Sandbox Code Playgroud)
这有效:
DT[, max(State)]
Run Code Online (Sandbox Code Playgroud)
这失败了,错误:
DT[, max(State), by="ID"]
Run Code Online (Sandbox Code Playgroud)
错误是:gmax(状态)出错:max对因子没有意义.
怎么会?
我在 FastAPI 中的 REST API 端点上遇到问题,该端点通过单个查询参数接受字符串列表。此端点的用法示例如下:
http://127.0.0.1:8000/items/2?short=false&response=this&response=that
Run Code Online (Sandbox Code Playgroud)
此处,名为“response”的参数接受 FastAPI 教程“查询参数和字符串验证”部分中记录的字符串列表。端点在浏览器中按预期工作。
但是,它在 Swagger 文档中不起作用。单击“执行”以测试端点时,标记为“添加字符串项目”的按钮会晃动。Swagger UI 似乎无法使用嵌入的查询参数创建预期的 URL(如图 1 所示)。
端点的代码如下。我尝试过有验证和没有验证。
@app.get("/items/{item_ID}")
async def getQuestion_byID(item_ID: int = Path(
...,
title = "Numeric ID of the question",
description = "Specify a number between 1 and 999",
ge = 1,
le = 999
), response: Optional[List[str]] = Query(
[],
title="Furnish an answer",
description="Answer can only have letters of the alphabet and is case-insensitive",
min_length=3,
max_length=99,
regex="^[a-zA-Z]+$"
), short: bool = Query(
False,
title="Set …
Run Code Online (Sandbox Code Playgroud)