小编Pat*_* Li的帖子

在字符串中的特定位置插入字符

我想在字符串中的特定位置插入一个额外的字符(或一个新字符串).例如,我想d在第四个位置插入abcefg以获取abcdefg.

现在我正在使用:

old <- "abcefg"
n <- 4
paste(substr(old, 1, n-1), "d", substr(old, n, nchar(old)), sep = "")
Run Code Online (Sandbox Code Playgroud)

我可以为这个任务编写一个单行的简单函数,但我很好奇是否有一个现有的函数.

string r

50
推荐指数
3
解决办法
5万
查看次数

如何跳过循环中的错误

我想在循环中跳过错误(如果有的话)并继续下一次迭代.我想计算具有从{0,1,2}随机采样的元素的2乘2矩阵的100个逆矩阵.可以有一个奇异矩阵(例如,

1 0
2 0
Run Code Online (Sandbox Code Playgroud)

这是我的代码

set.seed(1)
count <- 1
inverses <- vector(mode = "list", 100)
repeat {
    x <- matrix(sample(0:2, 4, replace = T), 2, 2)
    inverses[[count]] <- solve(x)
    count <- count + 1
    if (count > 100) break
}
Run Code Online (Sandbox Code Playgroud)

在第三次迭代中,矩阵是单数的,代码停止运行并显示错误消息.在实践中,我想绕过这个错误并继续下一个循环.我知道我需要使用trytryCatch功能,但我不知道如何使用它们.这里也提出了类似的问题,但它们都非常复杂,答案远远超出我的理解范围.如果有人能够专门为这个问题提供完整的代码,我真的很感激.

error-handling r try-catch

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

R中的点和线的图例

我有两组数据(x1,y1)和(x1,y2).我为每组进行了回归,并希望将它们绘制在同一个图上(包括点和回归线).这是我的代码

x1 <- 1:5
y1 <- x1 + rnorm(x1)
y2 <- x1 + 2 + rnorm(x1)
fit1 <- lm(y1 ~ x1)
fit2 <- lm(y2 ~ x1)
plot(x1, y1, pch = 1, ylim = c(min(y1, y2), max(y1, y2)), xlab = "x", ylab = "y")
points(x1, y2, pch = 2)
abline(fit1, lty = 1)
abline(fit2, lty = 2)
legend("topleft", legend = c("Line 1", "Line 2"), pch = c(1, 2), lty = c(1, 2))
Run Code Online (Sandbox Code Playgroud)

这就是我得到的.

在此输入图像描述

我在传奇中真正想要的是将点和线并排放置而不是彼此叠加,这看起来应该是这样的.

在此输入图像描述

任何建议都非常感谢!

plot r legend

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

一个非常简单的java do ... while循环

我正在学习JAVA并键入以下DO ... WHILE示例.如果输入'q',程序将退出.它运行,但为什么我得到三行"请一键,然后按ENTER:"?

class DWDemo {
    public static void main (String args[])
      throws java.io.IOException {
          char ch;
          do {
              System.out.println("Please a key followed by ENTER:");
              ch = (char) System.in.read();
          } while (ch != 'q');
      }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

java do-while

8
推荐指数
2
解决办法
3701
查看次数

从C中的R创建一个dll动态库(Windows)

我想从C源代码创建一个DLL动态库,以便我可以在R中加载和使用它.我现在正在使用它

R CMD SHLIB foo.c 
Run Code Online (Sandbox Code Playgroud)

在Windows 7命令行中.但什么都没发生.没有错误消息但没有创建dll文件.

我做了什么有什么问题?谢谢.

c dll r

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

在R中创建循环矩阵的有效方法

我想从R中的向量创建循环矩阵.循环矩阵是具有以下形式的矩阵.

1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1
Run Code Online (Sandbox Code Playgroud)

第二行与第一行相同,但最后一个元素位于开头,依此类推.

现在我有了矢量,比方说,(1,2,3,4),我想找到一种有效(快速)的方法来创建这个矩阵.在实践中,数字不是整数,可以是任何数字.

这就是我现在正在做的事情.

x <- 1:4
n <- length(x)
mat <- matrix(NA, n, n)
for (i in 1:n) {
    mat[i, ] <- c(x[-(1:(n+1-i))], x[1:(n+1-i)])
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更快的方法来做到这一点?我需要一遍又一遍地生成这种矩阵.一步的小改进将产生很大的不同.谢谢.

performance r matrix

6
推荐指数
4
解决办法
1574
查看次数

使用 NumPy.arange 生成包括右端在内的等距值

假设我想生成一个介于 0 和 1 之间、间距为 0.1 的数组。在R中,我们可以做

> seq(0, 1, 0.1)
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Run Code Online (Sandbox Code Playgroud)

在Python中,由于numpy.arange不包括右端,我需要向stop.

np.arange(0, 1.01, 0.1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
Run Code Online (Sandbox Code Playgroud)

但这似乎有点奇怪。是否可以强制numpy.arange包含右端?或者也许其他一些功能可以做到这一点?

python numpy

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

从R中的向量创建频率计数

假设存在具有可能重复值的数值的向量

x <- c(1, 2, 3, 4, 5, 1, 2, 2, 3)
Run Code Online (Sandbox Code Playgroud)

我想创建另一个计数向量,如下所示.

  1. 它的长度和x.
  2. 对于每个唯一值x,第一个外观为1,第二个外观为2,依此类推.

我想要的新矢量是

1, 1, 1, 1, 1, 2, 2, 3, 2
Run Code Online (Sandbox Code Playgroud)

我需要一个快速的方法,因为x可能很长.

r vector

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

测试简单线性回归中的斜率是否等于R中的给定常数

我想测试简单线性回归中的斜率是否等于零以外的给定常数.

> x <- c(1,2,3,4)
> y <- c(2,5,8,13)
> fit <- lm(y ~ x)
> summary(fit)

Call:
lm(formula = y ~ x)

Residuals:
   1    2    3    4 
 0.4 -0.2 -0.8  0.6 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -2.0000     0.9487  -2.108  0.16955   
x             3.6000     0.3464  10.392  0.00913 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7746 on 2 degrees of freedom
Multiple R-squared:  0.9818,    Adjusted R-squared:  0.9727 …
Run Code Online (Sandbox Code Playgroud)

testing r lm

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

如何使用 numpy.random 从某个分布生成随机数?

我对如何使用 numpy.random 从给定分布(例如二项式)生成随机值感到有些困惑。我以为会是

import numpy as np
np.random.binomial(10, 0.3, 5)
Run Code Online (Sandbox Code Playgroud)

但是,NumPy 参考页面显示类似

from numpy.random import default_rng
rg = default_rng()
rg.binomial(10, 0.3, 5)
Run Code Online (Sandbox Code Playgroud)

两者似乎都运行良好。哪一个是正确的或更好的方法?如果有的话有什么区别?

python random numpy

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

标签 统计

r ×7

numpy ×2

python ×2

c ×1

dll ×1

do-while ×1

error-handling ×1

java ×1

legend ×1

lm ×1

matrix ×1

performance ×1

plot ×1

random ×1

string ×1

testing ×1

try-catch ×1

vector ×1