小编Max*_*don的帖子

从州过渡的图表流程图

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

使用inkscape创建的图像

它是状态之间的过渡,我希望盒子等于种群大小,箭头指示过渡的大小.我查看了图表包,但它的流程图似乎太粗糙了.

  1. 是否有更好的包装允许这个?
  2. 如果1 == FALSE:是否有其他更适合的软件?
  3. 如果1和2 == FALSE:我猜最后的手段是网格矩形bezier弯曲箭头,任何想法如何快速将其从地面上移除?

plot r flowchart

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

使用knitr在Markdown中使用多列表的HTML

我已经使用了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)

产生这个表:

在此输入图像描述

r knitr

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

如何使用dplyr并行化do()调用

我正在试图弄清楚如何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

r dplyr

19
推荐指数
3
解决办法
6166
查看次数

验证 yup 中不同对象形状的数组

我正在使用 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)

javascript reactjs yup formik

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

如何从Hmisc中的latex()获取LaTeX表以对齐列

我有一些问题让我的乳胶表中的对齐工作,这是一个例子:

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)

latex r

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

React的`memo`将泛型放入返回的函数中

我想将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)

typescript reactjs

7
推荐指数
2
解决办法
334
查看次数

xtable中的Cox回归输出 - 选择行/列并添加置信区间

我不想将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)

现在我想对输出执行以下操作:

  • 添加置信区间(CI)为95%
  • 选择某些行,例如年龄和日志(protime)
  • 将exp(B)和CI四舍五入为三位小数
  • 用z®ular coef删除列

提前致谢!

r cox-regression

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

通过调用datadist()+ options()设置rms时测试失败

我正在尝试使用该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

r testthat

6
推荐指数
2
解决办法
1039
查看次数

订阅未使用ApolloServer连接

我正在尝试建立订阅并使用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)

javascript graphql apollo-server graphql-subscriptions

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

获得使用 rms lrm 对象的信心

我无法从 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 包创建其他替代方案?

r glm

5
推荐指数
2
解决办法
3377
查看次数