小编Ber*_*tie的帖子

如何在条件中返回R中的数字(0)时进行测试

让我们假设你想根据条件构建一个简单的测试setdiff(input, 1:9).

我怎样才能构建一个

if isnotempty(setdiff(input, 1:9)) stop ("not valid") 
Run Code Online (Sandbox Code Playgroud)

在输入时停止执行c(3, 12)但在输入时继续执行的语句c(2,5,7)?非常感谢,伯蒂

r

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

从R中的单个字符串中提取所有数字

我们假设你有一个字符串:

strLine <- "The transactions (on your account) were as follows: 0 3,000 (500) 0 2.25 (1,200)"
Run Code Online (Sandbox Code Playgroud)

是否有一个函数将数字去除到数组/向量中,产生以下所需的解决方案:

result <- c(0, 3000, -500, 0, 2.25, -1200)?
Run Code Online (Sandbox Code Playgroud)

result[3] = -500
Run Code Online (Sandbox Code Playgroud)

请注意,数字以会计形式显示,因此负数出现在()之间.此外,您可以假设只有数字出现在数字首次出现的右侧.我对regexp并不是那么好,所以如果你能提供帮助,我会很感激.此外,我不想假设字符串总是相同,所以我希望在第一个数字的位置之前删除所有单词(和任何特殊字符).

regex r

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

Python中的R样式否定索引.不要切片

我的R编程头连线使用负切片索引来排除元素.

举个例子:

my_list = [0,1,2,3,4,5,6,7,8,9]
my_neg_slice = [-2, -8, 0, -5]
Run Code Online (Sandbox Code Playgroud)

会回来

[1 3 4 6 7 9]
Run Code Online (Sandbox Code Playgroud)

即返回不在(0,2,5,8)中的所有索引.

这更像是一个满足我好奇心的问题,因为Pythonic否定索引对我来说非常新颖(这不是对Python实现的批评,因为我非常喜欢它).有人在Python中实现了R_Style_Negative_Indexing吗?我是Python的新手,所以这种类型的索引可能已经存在?也许某人已经创建了一个自定义扩展(抱歉,如果这不是正确的术语)来扩展适当的库?

显然,这对于字符串实现起来非常棘手,但是我希望人们可以通过排除一组已知的稀疏元素来看到想要切入对象(List,Dict,DataFrame,...)的概念?

我的尼安德特人在Python中执行负R风格索引的方法:

import numpy as np

my_list = [0,1,2,3,4,5,6,7,8,9]
my_neg_slice = [-2, -8, 0, -5]

# Convert my_list to a numpy array as it's much easier to work with
step0 = np.array(my_list)

# Same for the negative_slices
step1 = np.array(my_neg_slice)

# Identify the indexes that are negative (assume 0 implies exclude)
step2 = step1 <= 0

# For the negative …
Run Code Online (Sandbox Code Playgroud)

python r pandas

12
推荐指数
3
解决办法
1827
查看次数

将 Python Scipy truncnorm 模型拟合到观测值,然后采样

我正在努力使用 Scipy truncnorm 拟合方法,我希望得到帮助,以便拟合的参数系数与观察到的数据一致。

作为示例,我从 N(0,1) 分布的右侧尾部创建了一个小样本(其中观测值大于 2 个标准差),并引入了一些异常值。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.stats import truncnorm

values = np.array([2.01,  2.06,  2.71,  2.31,  2.58,  2.17,  3.03,  2.24,  2.12,
                   2.72,  2.46,  2.66,  2.49,  3.41,  2.46,  2.12,  2.12,  2.65,
                   2.32,  2.49,  5.15,  2.62,  2.48,  2.27,  2.05])
pd.Series(values).describe()
Run Code Online (Sandbox Code Playgroud)

然后生成以下汇总统计数据:

count    25.000
mean      2.548
std       0.633
min       2.01
25%       2.17
50%       2.46
75%       2.65
max       5.15
Run Code Online (Sandbox Code Playgroud)

为了说明我在使用 scipy fit 方法时遇到的问题并更好地理解 truncnorm 实现,我通过检查上述汇总统计数据和采样直方图到观察值构建了以下直观模型(见下图)。我所困扰的是,当我尝试使用估计参数进行采样时,为什么拟合方法会给出如此糟糕的结果?如果我没有正确使用拟合结果或犯了其他错误,我将不胜感激有关转换的帮助?

构建这些示例的代码:

size = 10000 …
Run Code Online (Sandbox Code Playgroud)

python random statistics scipy python-2.7

5
推荐指数
0
解决办法
2071
查看次数

简单的数学存储过程返回NULL?

如果有人能让我知道为什么这个存储过程返回NULL(我使用SQL Server 2005),我将不胜感激?谢谢您的帮助.

CREATE PROCEDURE calc_runningtotal_averageprice_realisedpl
    @filled_size                REAL,
    @reported_execution         REAL,
    @old_running_total          REAL,
    @old_average_price          REAL,
    @new_running_total          REAL OUTPUT,
    @new_average_price          REAL OUTPUT,
    @realised_pl                REAL OUTPUT
AS
BEGIN

    SET @new_running_total = @old_running_total + @filled_size 
    SET @realised_pl = 0
    IF SIGN(@filled_size) = SIGN(@old_running_total)
        BEGIN
            SET @new_average_price = (@filled_size * @reported_execution + @old_running_total * @old_average_price) / (@new_running_total)
        END
    ELSE
        BEGIN
            DECLARE @quantity           REAL
            IF ABS(@reported_execution) < ABS(@old_running_total)
                SET @quantity = ABS(@reported_execution)
            ELSE
                SET @quantity = ABS(@old_running_total);


            SET @realised_pl = (@reported_execution - @old_average_price) * @quantity * …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures sql-server-2005

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

T-SQL开发人员插入并合并可以修改为NULL的存储过程

是否有更好的SQL Server 2008 R2技术来编写允许NULL 的以下组合INSERTUPDATE过程INSERT

我非常有兴趣了解其他开发人员如何编写INSERTUPDATE可以处理NULL插入的过程(想象用户想要撤消条目).我很欣赏将有更复杂和优雅的解决方案使用MERGE或者我有兴趣看到的一些事务回滚技术,但是,我确实要求你从第一原则建立你的例子,因为这可能导致帖子具有更广泛的吸引力,无论如何什么读者T-SQL级别.

这个简单示例的基础是Orders跟踪股票购买的表格.该程序应仅在相同或增加UPDATES时允许OrderStatus.

OrderStatus  Explanation
-------------------------
     0       Creation
     1       Checking
     2       Placement
     3       Execution
     ...
     8       Settlement
Run Code Online (Sandbox Code Playgroud)

表结构:

CREATE TABLE Orders(
    OrderID INT IDENTITY,
    Ticker VARCHAR(20) NOT NULL,
    Size DECIMAL(31,15) NULL,
    Price DECIMAL(31,15) NULL,
    OrderStatus TINYINT NOT NULL)
Run Code Online (Sandbox Code Playgroud)

此外,让我们假设我们有以下数据,以便我们可以测试修改数据:

SET IDENTITY_INSERT [dbo].[Orders] ON
INSERT INTO [dbo].[Orders] ([OrderID], [Ticker], [Size], [Price], [OrderStatus]) 
VALUES  (1, N'MSFT', CAST(1 AS Decimal(31, 15)), …
Run Code Online (Sandbox Code Playgroud)

sql t-sql vba stored-procedures sql-server-2008-r2

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