小编flo*_*del的帖子

从间隔生成一组随机唯一整数

我正在尝试构建一些机器学习模型,

所以我需要一个训练数据和一个验证数据

所以假设我有N个例子,我想在数据框中选择随机x个例子.

例如,假设我有100个例子,我需要10个随机数,有没有办法(有效地)为我生成10个随机INTEGER数,从我的样本数据中提取训练数据?

我尝试使用while循环,并慢慢改变重复的数字,但运行时间不是很理想,所以我正在寻找一种更有效的方法来做到这一点.

有人可以帮忙吗?

r

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

`as.na`功能

在R中,is.*我能想到的几乎所有功能都有相应的功能as.*.有一个is.na但没有as.na.为什么不,如果这样的功能有意义,你将如何实现?

我有一个载体x,可以是logical,character,integer,numericcomplex,我想将其转换为同一类别和长度的矢量,但充满了适当的:NA,NA_character_,NA_integer_,NA_real_,或NA_complex_.

我目前的版本:

as.na <- function(x) {x[] <- NA; x}
Run Code Online (Sandbox Code Playgroud)

r

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

通过交替列组合矩阵

我正在寻找一种组合两个矩阵的通用方法,以便两个初始矩阵中的列在新矩阵中交替

col1m1 ... col1m2 ... col2m1 ... col2m2 ... col3m1 ... col3m2 ......

例如:

matrix.odd  <- matrix(c(rep(1,3),rep(3,3),rep(5,3)),nrow=3,ncol=3)
matrix.even <- matrix(c(rep(2,3),rep(4,3),rep(6,3)),nrow=3,ncol=3)
# would look like
matrix.combined <- matrix(c(rep(1,3),rep(2,3),rep(3,3),rep(4,3),rep(5,3),rep(6,3)),
                          nrow=3,ncol=6)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种通用方法,因为我将使用超过3列的矩阵组合.我已经尝试了一些for循环和一些if语句,但它并没有真正为我而来.关于将矩阵与随机和交替相结合的搜索也没有被证明是富有成效的.有什么想法吗?

r matrix

15
推荐指数
3
解决办法
3985
查看次数

保留旧的(3.1.0之前的)type.convert行为

R 3.1.0已经推出,其中一项新功能如下:

type.convert()(因此默认情况下read.table())在表示数字输入时返回字符向量或因子,因为双精度会失去准确性.同样对于复杂的输入.

举个例子:

df <- read.table(text = "num1 num2
1.1 1.1234567890123456
2.2 2.2
3.3 3.3", header = TRUE)

sapply(df, class)
#      num1      num2 
# "numeric"  "factor"
Run Code Online (Sandbox Code Playgroud)

与以前的版本,read.table将返回两个数字列.

对于那些喜欢我的人来说,关心这种变化,可以做些什么来保持旧的行为呢?

注意:我想要一个不对输入数据做出假设的通用解决方案,即不建议我colClasses = "numeric"在上面的例子中使用.谢谢.

r read.table

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

如何在R中创建矩阵列表

我想创建一个2D矩阵列表

> x
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

> y
     [,1] [,2]
[1,]  301  306
[2,]  302  307
[3,]  303  308
[4,]  304  309
[5,]  305  310

> MATS<-c(x,y)

> MATS[1]
[1] 1
Run Code Online (Sandbox Code Playgroud)

我希望能够将MATS [1]称为x ...

r list matrix

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

当'a`和`b`都是整数时,为什么`a ^ b`返回一个数字?

给出两个整数:

a <- 1L
b <- 1L
Run Code Online (Sandbox Code Playgroud)

正如我所料,添加,减去或乘以它们也会给出一个整数:

class(a + b)
# [1] "integer"
class(a - b)
# [1] "integer"
class(a * b)
# [1] "integer"
Run Code Online (Sandbox Code Playgroud)

但除以它们给出一个数字:

class(a / b)
# [1] "numeric"
Run Code Online (Sandbox Code Playgroud)

我想我可以理解为什么:因为整数的其他组合(例如a <- 2Lb <- 3L)会返回一个数字,所以总是返回一个数字更常见.

求取指数:

class(a ^ b)
# [1] "numeric"
Run Code Online (Sandbox Code Playgroud)

这个对我来说有点意外.谁能解释为什么它是这样设计的?

integer r exponent

14
推荐指数
2
解决办法
331
查看次数

寻找互相关最大的滞后ccf()

我有两个时间序列,我用它ccf来找到它们之间的互相关. ccf(ts1, ts2)列出所有时间滞后的互相关.如何在不手动查看数据的情况下找到导致最大相关性的滞后?

r time-series correlation

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

以编程方式设置环境变量

在R中,我可以"手动"设置环境变量,例如:

Sys.setenv(TODAY = "Friday")
Run Code Online (Sandbox Code Playgroud)

但是,如果环境变量名称和值存储在R对象中会怎样?

var.name  <- "TODAY"
var.value <- "Friday"
Run Code Online (Sandbox Code Playgroud)

我写了这个:

expr <- paste("Sys.setenv(", var.name, " = '", var.value, "')", sep = "")
expr
# [1] "Sys.setenv(TODAY = 'Friday')"
eval(parse(text = expr))
Run Code Online (Sandbox Code Playgroud)

哪个确实有效:

Sys.getenv("TODAY")
# 1] "Friday"
Run Code Online (Sandbox Code Playgroud)

但我发现它很难看.有没有更好的办法?谢谢.

r environment-variables

13
推荐指数
2
解决办法
9545
查看次数

沿阵列中的n个维度之一选择

我在R中有一个数组,由这样的函数创建:

A <- array(data=NA, dim=c(2,4,4), dimnames=list(c("x","y"),NULL,NULL))
Run Code Online (Sandbox Code Playgroud)

我想沿着一个维度选择,所以对于上面的例子,我会:

A["x",,]
dim(A["x",,])    #[1] 4 4
Run Code Online (Sandbox Code Playgroud)

有没有办法概括,如果我事先不知道我的数组可能有多少维度(除了我要选择的命名的维度)?我想编写一个函数来获取可能格式化为A的输入,或者:

B <- c(1,2)
names(B) <- c("x", "y")

C <- matrix(1, 2, 2, dimnames=list(c("x","y"),NULL))
Run Code Online (Sandbox Code Playgroud)

背景

一般背景是我正在研究ODE模型,因此对于deSolve的ODE函数,它必须采用具有当前状态的单个命名向量.对于其他一些函数,比如计算相位平面/方向场,使用更高维数组来应用微分方程更为实际,我希望避免使用相同函数的多个副本,只需使用不同的函数我想要选择的维度之后的逗号数量.

r multidimensional-array

13
推荐指数
2
解决办法
2348
查看次数

为什么`x [0]`返回零长度向量?

说我有一个载体,例如,x <- 1:10,然后x[0]返回相同类作为一个零长度矢量x,在这里integer(0).

我想知道这个选择背后是否有原因,而不是抛出一个错误,或者NAx[11]那样回来?此外,如果您能想到x[0]返回integer(0)有用的情况,感谢您将其包含在您的答案中.

arrays r

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