小编Sté*_*ent的帖子

线性方程的解是错误的,或者为什么A*(A\B)不等于B?

A*(A\D)下面的结果怎么可能不等于D

在此输入图像描述

它应该产生D- 这是Octave文档的摘录:

线性方程组在数值分析中普遍存在.要求解线性方程组Ax = b,请使用左除法运算符'\':x = A\b

以下是想要尝试的人的代码:

A = [1,1,1;0,0,0;2,1,2;2,1,2;3,5,6]
D = [1;2;3;4;5]
% A is of rank 3:
rank(A)
% therefore the system Ax=D has a unique solution
x = A\D
% but Octave has not given the good solution:
A*x
Run Code Online (Sandbox Code Playgroud)

有人说我Matlab产生完全相同的结果.

编辑10/10/2012:在阅读了答案之后,让我指出我犯了一个严重错误的地方:声明"A是等级3因此系统Ax = D有一个独特的解决方案"是绝对错误的!顺便说一句,上面显示的文档非常令人不安.

matlab linear-algebra octave numerical-methods least-squares

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

使用(d)plyr创建一系列新列

比如说我有一个带有列的数据框,a我想a^i为几个值创建列i.

> dat <- data.frame(a=1:5)
> dat
    a
1   1
2   2
3   3
4   4
5   5
Run Code Online (Sandbox Code Playgroud)

举个例子,我想要的输出i=2:5:

  a power_2 power_3 power_4 power_5
1 1       1       1       1       1
2 2       4       8      16      32
3 3       9      27      81     243
4 4      16      64     256    1024
5 5      25     125     625    3125
Run Code Online (Sandbox Code Playgroud)

目前我得到的输出data.table如下:

DT <- data.table(dat)
exponents <- 2:5
DT[, paste0("power_",exponents):=lapply(exponents, function(p) a^p)]
Run Code Online (Sandbox Code Playgroud)

怎么办plyr/ dplyr?当然,我可以通过键入 …

r plyr dplyr data.table

4
推荐指数
2
解决办法
147
查看次数

R 数据表按钮与格式化单元格一起导出

这些扩展 Buttons非常适合闪亮的应用程序,从library(DT). 但是它导出数据时不进行格式化。有没有办法以格式(例如百分比或货币)导出数据?类似的问题尚未解决。

可重现的代码

library(DT)

data.frame(a = c(1,2),
           b = c(2,3)) %>%
  datatable(extensions = 'Buttons', options = list(
     dom = 'Bfrtip',
     buttons = c('copy', 'csv', 'excel', 'pdf', 'print')) )%>%
   formatPercentage('a') %>%
   formatCurrency('b')
Run Code Online (Sandbox Code Playgroud)

r datatables shiny dt formattable

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

"直到"如何运作?

我想回答这个问题使用until.但这不起作用,我得出的结论是我不理解until.

所以我采用OP给出的功能,逐字:

removeAdjDups :: (Eq a) => [a] -> [a]
removeAdjDups []           =  []
removeAdjDups [x]          =  [x]
removeAdjDups (x : y : ys)
  | x == y = removeAdjDups ys
  | otherwise = x : removeAdjDups (y : ys)
Run Code Online (Sandbox Code Playgroud)

然后我写一个True/False函数重新调整是否有重复:

hasAdjDups :: (Eq a) => [a] -> Bool
hasAdjDups []           =  False
hasAdjDups [x]          =  False
hasAdjDups (x : y : ys)
  | x == y = True
  | otherwise = …
Run Code Online (Sandbox Code Playgroud)

haskell

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

Haskell在根据此值调用函数时是否重新计算值?

假设我有

f :: Int -> MyType
f i = ......

voxel :: MyType
voxel = f 2

function1 :: Double -> MyType -> MyOtherType
function1 x w = ......

function2 :: Double -> MyOtherType
function2 y = function1 y voxel 
Run Code Online (Sandbox Code Playgroud)

现在,假设我调用function2两次,例如function2 1.0然后function2 2.0(我在上下文中OpenGL并且MyOtherType是要绘制的图形元素,用户可以y使用键盘进行更改).

那么,在第二次调用时function2,Haskell会重新评估voxel吗?

如果我有这样的情况,比方说是C语言,我会放一个printfvoxel知道答案,但我不能做这样的事情用纯Haskell的功能(可以吗?).

haskell

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

printf 和 size_t 使用 FFI

为了size_t在 C 中用打印整数printf,转换格式器是%zu

但是,当我使用printfwith 时%zu,通过 FFI 打印zu而不是整数调用 Haskell 中的 C 函数。如何解决?

最小的例子

文件zu.c

#include <stdio.h>

void printzu(){
    size_t x = 666;
    printf("x=%zu", x);
}
Run Code Online (Sandbox Code Playgroud)

模块库.hs

{-# LANGUAGE ForeignFunctionInterface #-}
module Lib
  where
import Foreign

foreign import ccall unsafe "printzu" printzu' :: IO ()
Run Code Online (Sandbox Code Playgroud)

测试

Prelude> import Lib
Prelude Lib> printzu'
x=zu
Run Code Online (Sandbox Code Playgroud)

c haskell ffi

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

使用回调选项时选择新页面后,R DT 数据表不保留行索引/计数器列

我使用这个问题作为参考,将“行索引”或“计数器列”(如数据表文档中所述)添加闪亮DT::datatable的应用程序中。目的是保持表中的行名称常量(1、2、3...),而不管应用于表的排序如何。

用户NicE通过转换数据表文档中的javascript代码以用于选项的回调来回答这个问题DT::datatable

output$tbl = renderDataTable({
                        datatable(data, filter = "top", rownames=TRUE,options = list(
                            pageLength = 300, lengthMenu = c(100,200,300,400,500,600)
                    ),
                    callback=JS("table.on( 'order.dt search.dt', function () {
                            table.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
                                  cell.innerHTML = i+1;});}).draw();"))
            })
Run Code Online (Sandbox Code Playgroud)

如果我仅在本地运行代码的 datatable(... 部分,则效果很好;但是,当我在renderDataTableShiny 应用程序中运行时,它不起作用(当您移动到除第一个)。根据上面链接的数据表文档中的评论,用户 DeFKnoL 发现如果您在表中的页面之间移动,这将无法正常工作 - 这正是我运行 Shiny 应用程序时出现的问题。DeFKnoL 的评论指出( "deferRender": true) 会导致问题 - 我尝试在选项中将其更改为 FALSE,DT::datatable但这并不能解决问题。

我希望有人可以帮助我将该用户的 javascript 代码转换为可以输入到 的回调选项中的代码DT::datatable

以下是数据表文档中概述的原始方法的 JavaScript 代码(NicE 对其进行了修改以在回调中使用):

$(document).ready(function() {
var t = …
Run Code Online (Sandbox Code Playgroud)

javascript r datatables shiny dt

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

R Flexdashboard 中的下载按钮宽度

我在更改 DownloadButton 宽度时遇到问题,因为他与 actionButton (具有宽度参数)不同。

有什么简单的想法可以解决吗?这是我的代码(只是一个简单的下载按钮):

Normalidade  
=======================================================================
Inputs {.sidebar}
-----------------------------------------------------------------------
<h5>
```{r}
tags$hr()


downloadButton("downloadNormal",label = "Download seu teste", class = "butt1")


downloadHandler(
    filename = "Resultados_Normal.csv",

    content = function(file) {
      write.csv(data, file)
    }

    )

tags$hr()
tags$br()
actionButton("AjudaNormal", label = " Ajuda", icon("question-circle"),
             width = "100%",
             onclick="window.open('http://google.com', '_blank')")


```
</h5>
Run Code Online (Sandbox Code Playgroud)

r shiny flexdashboard

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

带有可编辑单元格的数据表的闪亮应用程序。用户从表中删除行后如何保存编辑的内容?

我有一个应用程序,它使用plot_click 功能在图表上绘制点并创建一个表来跟踪每个点的坐标。作为应用程序的一部分,我有一个删除按钮,用户可以根据需要删除选定的行。如果删除一行,则绘图会更新。

我在表格中添加了一列可编辑的列,以便用户可以编写注释。我遇到的问题是,当我删除一行时,其他单元格上添加的注释也会消失。

我相信我必须使用 input$mytable_cell_edit 更新删除事件,并可能为单元格编辑创建另一个事件,但不知道如何执行此操作。

下面的示例代码

library(shiny)
library(tidyverse)
library(DT)


#UI
ui <- basicPage(
  column(width = 3, plotOutput("plot", click = "plot_click", width = "350px", height="700px")),
  column(width = 9, DTOutput("mytable")),
  actionButton("remove", "remove")
  
)


#server
server <- function(input, output) {
  
  
  #click inputs
  val <- reactiveValues(
    clickx = numeric(), 
    clicky = numeric(), 
    shape= 2, 
    id = numeric(),
    id_total = 0
  )
  
  mytable <- reactive(
    data.frame(`Location X` = round(val$clickx,2), 
               `Location Y` = round(val$clicky,2),
               ID = val$id)
  )
  
  #bind clicks
  observeEvent(input$plot_click, {
    val$clickx = c(val$clickx, …
Run Code Online (Sandbox Code Playgroud)

r datatables shiny dt

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

FFI 返回一个巨大的整数值而不是 0

我已将“NumericalIntegration”C++ 库封装在 Haskell 中。是该软件包的最新版本(Hackage 上的版本较旧)。

这是 C++ 代码的主要部分:

class Integrand {
 private:
  std::function<double(double)> f;

 public:
  Integrand(std::function<double(double)>& f_) : f(f_) {}
  double operator()(const double x) const { return f(x); }
};

double integration(double f(double),
                   double lower,
                   double upper,
                   double relError,
                   int subdiv,
                   double* errorEstimate,
                   int* errorCode) {
  // Define the integrand.
  std::function<double(double)> f_ = [&](double x) { return f(x); };
  Integrand integrand(f_);
  // Define the integrator.
  Eigen::Integrator<double> integrator(subdiv);
  // Define a quadrature rule.
  Eigen::Integrator<double>::QuadratureRule rule =
      Eigen::Integrator<double>::GaussKronrod201;
  // Define …
Run Code Online (Sandbox Code Playgroud)

c++ haskell haskell-ffi

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