小编Ben*_*ker的帖子

将许多列除以另一列

好的

A <- c(1:10)
B <- c(2:11)
C <- c(3:12)
df1 <- data.frame(A,B,C)
Run Code Online (Sandbox Code Playgroud)

我不明白这个错误:

df2 <- df1 / df1[,"C"]
df2 <- df1[1:3,] / df1[1:3,"C"]

a <- subset (df1, select = c(A, B)) 
b <- subset (df1, select = c (C))
c <- a/b
## Error in Ops.data.frame(a, b) : 
##  ‘/’ only defined for equally-sized data frames
Run Code Online (Sandbox Code Playgroud)

看到两者的行数相同:

dim(a)
dim(b)
Run Code Online (Sandbox Code Playgroud)

r

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

一个图中的两个直方图(ggplot)

嗯,我一直在这个网站上寻找在一个图中制作两个直方图。我得到

ggplot()+geom_histogram(data=etapa1, aes(x=AverageTemperature),col="red")+
geom_histogram(data=etapa2, aes(x=AverageTemperature),col="blue")
Run Code Online (Sandbox Code Playgroud)

我有两个不同颜色的直方图,但我没有得到显示每种颜色的图例或标签。我怎样才能生产它?

r colors histogram ggplot2

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

日期为117/12/31格式

我有117/12/31意味着17/12/31的日期.如何提取第17年并将其粘贴到第20年并将其更改为2017年?对于2000年之前的日期,格式为(例如)89/12/31.在这种情况下,我需要将年份格式设为1989年.

r date

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

拟合对数正态分布或泊松分布

我有一个包含 1096 个数字的向量,这是一个测量站 3 年内测量的 NOx 的日平均浓度。您可以观察图像中的分布类型:

NOx 浓度直方图

我使用这些命令来做直方图:

NOxV<-scan("NOx_Vt15-17.txt")
hist.NOxVt<-hist(NOxV, plot = FALSE, breaks = 24) 
plot(hist.NOxVt, xlab = "[NOx]", ylab = "Frequenze assolute", main = "Istogramma freq. ass. NOx 15-17 Viterbo")
points(hist.NOxVt$mids, hist.NOxVt$counts, col= "red")
Run Code Online (Sandbox Code Playgroud)

我的教授建议我用泊松分布拟合直方图 - 注意转换:离散 -> 连续(我不知道这意味着什么) - 或“对数正态”分布。

我尝试使用她在课程中给我们的一些命令行来进行泊松拟合,但是在执行以下最后一行代码后,R 给了我一个错误:

  my_poisson = function(params, x){
      exp(-params)*params^x/factorial(x)
  }

  y<-hist.NOxVt$counts/1096;
  x<-hist.NOxVt$mids;
  z <- nls( y ~ exp(-a)*a^x/factorial(x), start=list(a=1) )
Run Code Online (Sandbox Code Playgroud)

numericDeriv(form[[3L]], names(ind), env) 中的错误:评估模型时产生的缺失值或无穷大此外:有 50 个或更多警告(使用警告()查看前 50 个)”

这个问题解决不了(在网上搜索类似问题)我决定用对数正态拟合分布,但我不知道怎么做,因为教授没有给我们解释,我仍然没有足够的 R 经验来自己解决。

我将不胜感激有关如何进行对数正态拟合和/或泊松拟合的任何建议或示例。

r normal-distribution poisson model-fitting data-fitting

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

update.packages()反复询问我的每个包.我怎么阻止它?

update.packages()在R中运行时如何避免回答"你想要更新此软件包"一百次吗?

update.packages()个别问我是否要更新几乎所有包装,并显示为提示y/n/c.我最终击中Y然后Enter反复五分钟."C"是什么意思?它让我解决了这个问题吗?我不敢选择不知道它意味着什么的选择.Y显然是,N显然是C?有人猜吗?

r updates

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

编写一个函数,根据数据框的列值在矩阵中查找元素

我有一个数据框,其原点和目的地名称如下(我将简化以使其更清楚):

Origin Dest Time 
     A    B  Mon
     B    C  Wed
     C    B  Fri
Run Code Online (Sandbox Code Playgroud)

我也有发现地之间的距离的距离矩阵A,BC.

   A  B  C
A  0  8 11
B  8  0  6
C 11  6  0
Run Code Online (Sandbox Code Playgroud)

我如何从距离矩阵中提取距离并将其输入df$Distance到数据帧的每一行的单独列(例如)中?

r distance matrix dplyr

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

矩阵的特征值,假设对称

我试图a在 Julia 中找到以下 2 X 2 矩阵(等于)的特征值:

2×2 Array{Float64,2}:
0.120066  0.956959
0.408367  0.422321
Run Code Online (Sandbox Code Playgroud)

我在 R 中有相同的数组,运行以下 R 命令我得到这个输出:

eigen(a, symmetric=T, only.values=T)
$values
[1]  0.706626 -0.164245
Run Code Online (Sandbox Code Playgroud)

但是,在 Julia 中,当我运行此命令时,会得到以下输出:

eigvals(LowerTriangular(a))
2-element Array{Float64,1}:
0.120066
0.422321
Run Code Online (Sandbox Code Playgroud)

有没有办法eigen()在 Julia 中复制对称矩阵的 R函数,因为我使用该LowerTriangular函数的方式不起作用?

r linear-algebra julia

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

为什么我在Rcpp中使用"pnorm"会出现错误

我需要arma::在我的Rcpp代码中包含变量.但是在尝试使用糖功能时遇到了问题pnorm.这是一个演示:

#include <RcppArmadillo.h>
#include <RcppArmadilloExtensions/sample.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace Rcpp;

// [[Rcpp::export]]
double pget(NumericVector x, NumericVector beta) {
  arma::colvec xx = Rcpp::as<arma::colvec>(x) ;
  arma::colvec bb = Rcpp::as<arma::colvec>(beta) ;
  double tt = as_scalar( arma::trans(xx) * bb);
  double temp = Rcpp::pnorm(tt);
  return temp;
}
Run Code Online (Sandbox Code Playgroud)

然后我收到一个错误: no matching function for call to 'pnorm5'

这是否意味着我不能使用Rcpp::pnorm???

r armadillo rcpp

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

如何使用 glmmTMB 的预测函数拟合置信区间

我正在使用 glmmTMB 包运行混合模型,并使用预测函数使用以下代码计算预测平均值:

运行模型

model_1 <- glmmTMB(Step.rate ~ Treatment*Week + 
    (1|Treatment.Group/Lamb.ID) +  (1|Plot),
     data = data.df, family = nbinom1) 
Run Code Online (Sandbox Code Playgroud)

创建新的数据框

new.dat <- data.frame(Treatment = data.df$Treatment,
                      Week = data.df$Week, Plot = data.df$Plot, 
                      Treatment.Group = data.df$Treatment.Group,
                      Lamb.ID = data.df$Lamb.ID) 
Run Code Online (Sandbox Code Playgroud)

预测平均值

new.dat$prediction <- predict(model_1, new.data = new.dat, 
       type = "response", re.form = NA) 
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但是当我添加Interval =“confidence”来计算置信区间时,它似乎不起作用。R 忽略代码的最后部分,仅计算预测平均值。

new.dat$prediction <- predict(model_1, new.data = new.dat, 
     type = "response", re.form = NA, intervals = "confidence")
Run Code Online (Sandbox Code Playgroud)

为什么间隔=“置信度”不起作用?这可能是与 glmmTMB 包相关的问题吗?

r predict confidence-interval glmmtmb

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

如何随机更改向量中数字的符号?

我有一个很长的数字向量,它们的符号不同(例如):

data <- c(1,-23,67,-21,10,32,64,-34,-6,10)
Run Code Online (Sandbox Code Playgroud)

在 R 中工作,如何创建一个包含相同数字列表的新向量,但给它们一个随机符号(正或负)?对于每个数字,它为负的概率应该是 0.5。

random r sign

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