我试图在R中找到一种方法来绘制这样的图形:

它是状态之间的过渡,我希望盒子等于种群大小,箭头指示过渡的大小.我查看了图表包,但它的流程图似乎太粗糙了.
我已经使用了knitr和LaTeX,但我想改用Markdown,因为这似乎与Word更兼容(htlatex和Pandoc工作,但它远非舒适).我目前的问题是在Hmisc包中找到latex()的替代品.我发现的唯一替代方法是xtable,但它似乎没有创建多列.
这是一个例子:
mx <- matrix(1:6, ncol=3)
rownames(mx) <- LETTERS[1:NROW(mx)]
colnames(mx) <- sprintf("Col %s", LETTERS[1:NCOL(mx)])
latex(mx, n.rgroup=c(2), rgroup=c("Nice!"),
n.cgroup=c(2,1), cgroup=c("First", "Second"),
file="",
ctable=TRUE)
Run Code Online (Sandbox Code Playgroud)
产生这个表:

我正在试图弄清楚如何dplyr::do并行部署该功能.在阅读了一些文档后,似乎dplyr :: init_cluster()应足以告诉do()并行运行.不幸的是,当我测试时,情况似乎并非如此:
library(dplyr)
test <- data_frame(a=1:3, b=letters[c(1:2, 1)])
init_cluster()
system.time({
test %>%
group_by(b) %>%
do({
Sys.sleep(3)
data_frame(c = rep(max(.$a), times = max(.$a)))
})
})
stop_cluster()
Run Code Online (Sandbox Code Playgroud)
给出这个输出:
Initialising 2 core cluster.
|==========================================================================|100% ~0 s remaining
user system elapsed
0.03 0.00 6.03
Run Code Online (Sandbox Code Playgroud)
如果do调用在两个内核之间分配,我希望它是3.我还可以通过在主R-端子中打印的do()添加打印来确认这一点.我在这里错过了什么?
我正在使用dplyr 0.4.2和R 3.2.1
我正在使用 formik 进行表单验证,并在数组验证中遇到了一些问题。这是我的表单结构
{
flow: [
{ text: "hello"
},
{ input: "world"
},
{ buttons: [
'hi',
'hello'
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我必须为此创建验证架构。所以数组可能包含这些对象中的任何一个。
我试过这个,
export const validationSchema = yup.object().shape({
flow: yup.array().of(
yup.mixed().oneOf([
{
text: yup.string().required('Enter text'),
},
{
buttons: yup.array().of(yup.string().required('Enter button title')),
},
{
input: yup.string(),
}
])
),
});
Run Code Online (Sandbox Code Playgroud)
但我收到以下 formik 错误:
flow:[
"flow[0] must be one of the following values: [object Object], [object Object]",
"flow[1] must be one of the following values: [object Object], [object Object]"
] …Run Code Online (Sandbox Code Playgroud) 我有一些问题让我的乳胶表中的对齐工作,这是一个例子:
library(Hmisc)
set.seed(1)
x <- matrix(round(runif(6*3)*10, 2), ncol=6)
x[1, 2] <- -round(x[1, 2], 0)
x[3, 3] <- -round(x[1, 2], 1)
x[3, 5] <- round(x[1, 2], 1)
ci1 <- apply(x[,2:3], 1, FUN=function(x){
ret <- paste(min(x), "-", max(x))
return(ret)
})
ci2 <- apply(x[,5:6], 1, FUN=function(x){
ret <- paste(min(x), "-", max(x))
return(ret)
})
x <- cbind(x[,1], ci1, x[,4], ci2)
colnames(x) <- c("A", "interval", "B", "interval")
rownames(x) <- sapply(letters[1:3], FUN=function(x){ return(paste("Var_", x, sep=""))})
latex(x, file="", align="rcrc", rowlabel.just="r",
cgroup = c("First", "Second"),
n.cgroup = c(2, …Run Code Online (Sandbox Code Playgroud) 我想将React memo用于具有通用参数的函数。不幸的是,泛型参数默认为泛型,所有奇特的泛型推导逻辑都丢失了(TypeScript v3.5.2)。在下面的示例中WithMemo(使用React.memo)失败,原因:
Property 'length' does not exist on type 'string | number'.
Property 'length' does not exist on type 'number'.
Run Code Online (Sandbox Code Playgroud)
而WithoutMemo作品如预期的那样。
interface TProps<T extends string | number> {
arg: T;
output: (o: T) => string;
}
const Test = <T extends string | number>(props: TProps<T>) => {
const { arg, output } = props;
return <div>{output(arg)} </div>;
};
const myArg = 'a string';
const WithoutMemo = <Test arg={myArg} output={o => …Run Code Online (Sandbox Code Playgroud) 我不想将cox回归的输出导出到我可以放入文章的表中.我想最好的方法是使用xtable:
library(survival)
data(pbc)
fit.pbc <- coxph(Surv(time, status==2) ~ age + edema + log(bili) +
log(protime) + log(albumin), data=pbc)
summary(fit.pbc)
library(xtable)
xtable(fit.pbc)
Run Code Online (Sandbox Code Playgroud)
现在我想对输出执行以下操作:
提前致谢!
我正在尝试使用该testthat软件包进行一些单元测试,但我似乎无法让它与rms软件包一起正常工作.以下示例:
library(rms)
set.seed(10)
ds <- data.frame(
ftime = rexp(200),
fstatus = sample(0:1,200,replace=TRUE),
x1 = runif(200),
x2 = runif(200),
x3 = factor(sample(LETTERS[1:3], size=200, replace=TRUE)))
ddist <- datadist(ds)
options(datadist="ddist")
s <- Surv(ds$ftime, ds$fstatus == 1)
fit <- cph(s ~ x1 + x2 + x3, data=ds)
Run Code Online (Sandbox Code Playgroud)
返回此错误:
设计错误(eval.parent(m)):找不到选项的数据集ddist(datadist =)
即使print(ddist)工作,选项("datadist")返回适当的变量.是否testthat有导致错误的不同变量范围?
我在我的包dir(Eclipse StatET)中启动了一个R控制台运行testthat:
library(testthat)
test_dir("inst/tests")
q()
Run Code Online (Sandbox Code Playgroud)
R CMD检查发生相同的错误--as-cran
我正在尝试建立订阅并使用ApolloServer(v 2.2.2)。我的安装程序突然突然停止工作。当我尝试连接到graphiql/中的订阅时,Playground出现错误:
{
"error": "Could not connect to websocket endpoint ws://localhost:4000/graphql. Please check if the endpoint url is correct."
}
Run Code Online (Sandbox Code Playgroud)
由于我的应用程序中有休息端点,因此我需要表达自己的观点,但是我无法从下面的运行中获得最少的示例:
import http from 'http';
import { ApolloServer, PubSub } from 'apollo-server-express';
import express from 'express';
const pubsub = new PubSub();
// The DB
const messages = [];
const typeDefs = `
type Query {
messages: [String!]!
}
type Mutation {
addMessage(message: String!): [String!]!
}
type Subscription {
newMessage: String!
}
schema {
query: Query
mutation: …Run Code Online (Sandbox Code Playgroud) 我无法从 rms 包中获取逻辑回归以与 confint() 一起使用,这是一个示例:
library(rms)
data(mtcars)
dd <- datadist(mtcars)
options(datadist = "dd")
fit <- lrm(am ~ gear + mpg, data=mtcars)
confint(fit)
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
错误:$ 运算符对于原子向量无效
Traceback() 给出:
4: profile.glm(object, which = parm, alpha = (1 - level)/4, trace = trace)
3: profile(object, which = parm, alpha = (1 - level)/4, trace = trace)
2: confint.glm(fit)
1: confint(fit)
Run Code Online (Sandbox Code Playgroud)
我猜想 lrm() 模型没有实现限制。
有没有方便的替代方法?是否有为 rms 包创建其他替代方案?