小编MyS*_*ddy的帖子

将分组的连续变量转换为R中的行

我有一个数据框,这些值为虚拟值,我想对它们进行lm回归.其中一个变量是分组连续变量,如下所示

df <- data.frame("y" = c(10, 11, 12, 13, 14),
                 "x" = as.factor(c("100-102", "103-105", "106-108", "109-111", "112-114")))
Run Code Online (Sandbox Code Playgroud)

我想回归y~x,一种方法是用它们的平均数值替换x因子.这可以使用正则表达式轻松完成.

另一种方法是创建其他行并展开数据集,使其看起来像这样

data.frame("y" = c(10, 10, 10, 11, 11, 11......),
           "x" = c(100, 101, 102, 103, 104, 105......))
Run Code Online (Sandbox Code Playgroud)

有没有这样做的功能?

我想首先创建其他变量,如x1,x2,x3,然后使用reshape2包将x列转换为行.

r linear-regression

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

tidyr扩散函数如何将变量作为选择列

tidyr的扩展函数只接受没有引号的列名.有没有办法可以传入一个包含例如列名的变量

# example using gather()
library("tidyr")
dummy.data <- data.frame("a" = letters[1:25], "B" = LETTERS[1:5], "x" = c(1:25))
dummy.data
var = "x"
dummy.data %>% gather(key, value, var)
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误

Error: All select() inputs must resolve to integer column positions.
The following do not:
*  var
Run Code Online (Sandbox Code Playgroud)

这是使用匹配函数解决的,该函数给出了所需的列位置

dummy.data %>% gather(key, value, match(var, names(.)))
Run Code Online (Sandbox Code Playgroud)

但是这种方法对于扩散函数不起作用

dummy.data %>% spread(a, match(var, names(.)))
Error: Invalid column specification
Run Code Online (Sandbox Code Playgroud)

收集和传播函数采用不同的列规范.聚集采用列索引,而传播没有提到它想要的

r tidyr

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

动态添加闪亮的模块

这不是关于使用 renderUI 创建模块。使用我理解的 renderUI,您可以在 UI 函数中放置一个占位符,然后在服务器函数中编写控件/小部件。

模块分为两部分。您必须使用 callModule() 将一部分添加到 UI 函数,另一部分添加到服务器函数。

我有一个滑块模块。我想在单击“添加”操作按钮时将其添加到井面板。如果它有帮助,您可以考虑在单击按钮时多次复制模块。重复的模块应该都是独立的。

视觉上

动态加载模块

我想知道一个动作按钮如何在 UI 功能内添加模块的 UI 部分,在服务器功能内添加服务器部分。

#Dynamically adding modules
library(shiny)

#slider module ------------------------
sliderUI <- function(id) {
  ns <- NS(id)
  sliderInput(ns("bins"), "Number of Bins:", min = 1, max = 5, value = 3)
}

slider <- function(input, output, session) {}


#shiny app ------------------------
ui <- fixedPage(
  fixedRow(
    column(width = 4, wellPanel(
      h4("Slider Module"),
      sliderUI("slider"),
      actionButton("addSliderModule", "Add Slider Module"))
    ),
    column(width = 4, wellPanel(
      h4("Dynamic Loading Modules"),
      p("Clicking on …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

如何在python中添加列表中的元素

给出一个列表字典

vd = {'A': [1,0,1], 'B':[-1,0,1], 'C':[0,1,1]}
Run Code Online (Sandbox Code Playgroud)

我想明智地添加列表元素.所以我想将列表A中的第一个元素添加到列表B的第一个元素,反之亦然,复杂性是你不能依赖标签A,B,C.它可以是任何东西.第二,字典的长度也是可变的.这里是3.但它可能是30.

我需要的结果是列表[0,1,3]

python

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

标签 统计

r ×3

linear-regression ×1

python ×1

shiny ×1

tidyr ×1