我有一个各种列的数据框.我需要计算特定列的标准偏差Spread.标准偏差应出现在另一列中.
应从第20行开始计算标准偏差,直到数据帧的最后一行.这意味着第20行的标准偏差应该是前20个值的标准偏差.在第21行,标准偏差应该是第2行到第21行的数据,依此类推.
虽然有很多关于标准差计算的帖子,但我找不到与我相关的帖子.谢谢你的帮助.
我找不到这个问题的完整答案.我试图解决类似的方程系统:
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)
我怎么能解决每个国家的变量?
我想知道如何从距离矩阵中提取第一个对角线的值.
例如:
> 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
谢谢!
我似乎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)
虽然第一个模型工作正常,但第二个模型无法正确识别拦截.我在这里错过了什么?
给定两个数字矩阵A并且B具有相同的维度.元素划分的最佳方法是A[i,j] / B[i,j]什么?我知道可以使用双for循环.但我想要最有效的方式.
编辑:当有一个B[i,j] == 0它必须是A[i,j] <- 0.
该问题涉及机器学习特征选择过程.
我有一个很大的特征矩阵 - 列是主题(行)的特征:
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) 我有一个向量,它提供矩阵每行有多少"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)
有谁有想法以更快的方式创建这样的矩阵?
我曾经多次遇到过这个问题,将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.当我在控制台中以交互方式调用该函数时,当我从控制台传递整数时,它会产生正确的结果.
有任何想法吗?
谢谢!
我在R studio中调用R函数,如下所示
source("test.R)
test()
Run Code Online (Sandbox Code Playgroud)
我现在想用Unix shell脚本调用它.
请让我知道如何实现这一目标.谢谢.
我是 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) 在线性模型的公式定义中转换模型是一个好习惯吗?
例如:
reg1 <- lm(log(Y) ~ X + Z + (W)^2, data = data)
Run Code Online (Sandbox Code Playgroud)
当我只有W,X,Y,Z在数据而不是转化变量?W^2当我打电话给总结时,我没有看到列出reg1.
是什么as意思
as.numeric(T)
Run Code Online (Sandbox Code Playgroud)
或者
variable <- as.data.frame('midwest')`
Run Code Online (Sandbox Code Playgroud)
PS如果能解释一下缩写会更好......
r ×12
lm ×3
matrix ×3
regression ×2
abbreviation ×1
cubic-spline ×1
diagonal ×1
distance ×1
function ×1
if-statement ×1
performance ×1
spline ×1
variables ×1