小编李哲源*_*李哲源的帖子

计算从第20行开始的滚动标准偏差

我有一个各种列的数据框.我需要计算特定列的标准偏差Spread.标准偏差应出现在另一列中.

应从第20行开始计算标准偏差,直到数据帧的最后一行.这意味着第20行的标准偏差应该是前20个值的标准偏差.在第21行,标准偏差应该是第2行到第21行的数据,依此类推.

虽然有很多关于标准差计算的帖子,但我找不到与我相关的帖子.谢谢你的帮助.

r

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

我该如何解决这个线性方程组?

我找不到这个问题的完整答案.我试图解决类似的方程系统:

r_Aus <- 8.7 + r_Fra + r_Ser + r_USA
r_Fra <- 2.7 + r_Aus + r_Chi + r_Ser
r_USA <- 37 + r_Chi + r_Ven + r_Aus
r_Chi <- -29.7 + r_USA + r_Fra + r_Ven
r_Ser <- 2.7 + r_Ven + r_Aus + r_Fra
r_Ven <- -21.3 + r_Ser + r_USA + r_Chi
Run Code Online (Sandbox Code Playgroud)

我怎么能解决每个国家的变量?

r

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

从R中的距离矩阵中提取对角线

我想知道如何从距离矩阵中提取第一个对角线的值.

例如:

> mymatrix
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    6    4
[4,]    8    6

> dist(mymatrix)

         1        2        3
2 2.828427                  
3 5.385165 3.000000         
4 8.062258 5.385165 2.828427
Run Code Online (Sandbox Code Playgroud)

我想在向量中得到值: 2.828427, 3.000000, 2.828427

谢谢!

r distance matrix diagonal distance-matrix

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

R的自然三次样条回归

我似乎splines::ns()在R中的函数有问题.

我创建了一个简单的虚拟问题

dat <- data.frame(t <- seq(0, 6, .01),
                  x <- rnorm(length(t), sd = 1),
                  y <- 5 + t - x^2 + rnorm(length(t), sd = .33))

lm(y ~ t + I(x^2), data = dat)

library(splines)
lm(y ~ t + ns(x, knots = c(0), Boundary.knots = c(-3, 3)), data = dat)
Run Code Online (Sandbox Code Playgroud)

虽然第一个模型工作正常,但第二个模型无法正确识别拦截.我在这里错过了什么?

regression r spline lm cubic-spline

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

R:元素矩阵划分

给定两个数字矩阵A并且B具有相同的维度.元素划分的最佳方法是A[i,j] / B[i,j]什么?我知道可以使用双for循环.但我想要最有效的方式.

编辑:当有一个B[i,j] == 0它必须是A[i,j] <- 0.

performance r matrix

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

是否有简单回归的快速估计(仅具有截距和斜率的回归线)?

该问题涉及机器学习特征选择过程.

我有一个很大的特征矩阵 - 列是主题(行)的特征:

set.seed(1)
features.mat <- matrix(rnorm(10*100),ncol=100)
colnames(features.mat) <- paste("F",1:100,sep="")
rownames(features.mat) <- paste("S",1:10,sep="")
Run Code Online (Sandbox Code Playgroud)

S在不同条件(C)下测量每个受试者()的响应,因此看起来像这样:

response.df <-
data.frame(S = c(sapply(1:10, function(x) rep(paste("S", x, sep = ""),100))),
           C = rep(paste("C", 1:100, sep = ""), 10),
           response = rnorm(1000), stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)

所以我匹配的主题是response.df:

match.idx <- match(response.df$S, rownames(features.mat))
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种快速计算每个特征和响应的单变量回归的方法.

比这更快的东西?:

fun <- function(f){
  fit <- lm(response.df$response ~ features.mat[match.idx,f])
  beta <- coef(summary(fit))
  data.frame(feature = colnames(features.mat)[f], effect = beta[2,1],
             p.val = beta[2,4], stringsAsFactors = F))
  }

res <- do.call(rbind, lapply(1:ncol(features.mat), …
Run Code Online (Sandbox Code Playgroud)

regression r linear-regression lm

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

在R中创建每行已知数量为1的二进制矩阵的快速方法

我有一个向量,它提供矩阵每行有多少"1".现在我必须从向量中创建这个矩阵.

例如,假设我想创建一个out带有跟随向量的4 x 9矩阵v <- c(2,6,3,9).结果应该是这样的

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

我用for循环完成了这个但是我的解决方案对于大矩阵(100,000 x 500)来说很慢:

out <- NULL
for(i in 1:length(v)){
  out <- rbind(out,c(rep(1, v[i]),rep(0,9-v[i])))
}
Run Code Online (Sandbox Code Playgroud)

有谁有想法以更快的方式创建这样的矩阵?

r matrix

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

Ifelse在函数内部不起作用

我曾经多次遇到过这个问题,将ifelse语句放在函数中总是会产生相同的结果.

Data$QuarterHour <- ifelse( Data$Minute < 15, return( 1 ),
                                  ifelse( Data$Minute < 30 , return( 2 ),
                                          ifelse( DataFrame$Minute < 45, return( 3 ), return( 4 ) ) ) )
Run Code Online (Sandbox Code Playgroud)

这完全没问题.但是,当我把它放入一个函数.它不是.

calculateHourQuarter <- function( aMinute )
{
ifelse( aMinute < 15, return( 1 ),
        ifelse( aMinute < 30 , return( 2 ),
                ifelse( aMinute < 45, return( 3 ), return( 4 ) ) ) )
}

DataFrame$QuarterHour <- calculateHourQuarter( as.numeric( Data$Minute ) )
Run Code Online (Sandbox Code Playgroud)

这导致列填充1.当我在控制台中以交互方式调用该函数时,当我从控制台传递整数时,它会产生正确的结果.

有任何想法吗?

谢谢!

if-statement r function

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

通过Unix shell脚本运行R程序

我在R studio中调用R函数,如下所示

source("test.R)
test()
Run Code Online (Sandbox Code Playgroud)

我现在想用Unix shell脚本调用它.

请让我知道如何实现这一目标.谢谢.

r

0
推荐指数
2
解决办法
389
查看次数

列表和括号

我是 R 新手,试图了解有关列表的一些事情。假设我有以下内容:

n = c(2, 3, 5) 
s = c("aa", "bb", "cc", "dd", "ee")
b = c(TRUE, FALSE, TRUE, FALSE, FALSE)
x = list(n, s, b, 3)
Run Code Online (Sandbox Code Playgroud)

我理解以下内容(我认为),因为我要求 R 返回第二个值列表(因为我使用的是单括号)。

x[2]
# [[1]]
# [1] "aa" "bb" "cc" "dd" "ee"
Run Code Online (Sandbox Code Playgroud)

我不明白,因为我使用的是双括号,它应该返回单个值。事实上,我并不是我所期望的 R 应该返回这里的人。我要求一个值,但第二组对象是另一个列表。

x[[2]]
# [1] "aa" "bb" "cc" "dd" "ee"
Run Code Online (Sandbox Code Playgroud)

r

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

转换R中线性模型的变量

在线性模型的公式定义中转换模型是一个好习惯吗?

例如:

reg1 <- lm(log(Y) ~ X + Z + (W)^2, data = data)
Run Code Online (Sandbox Code Playgroud)

当我只有W,X,Y,Z在数据而不是转化变量?W^2当我打电话给总结时,我没有看到列出reg1.

r lm

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

R中的“as”是什么意思?

是什么as意思

as.numeric(T)
Run Code Online (Sandbox Code Playgroud)

或者

variable <- as.data.frame('midwest')`
Run Code Online (Sandbox Code Playgroud)

PS如果能解释一下缩写会更好......

variables r abbreviation

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