我正在尝试对蒙面数组进行PCA分析.据我所知,matplotlib.mlab.PCA如果原始2D矩阵缺少值,则无效.有没有人建议在Python中使用缺少值的PCA?
谢谢.
我有一个非常大的蒙面NumPy数组(originalArray)有很多行和两列.我想取每两行的平均值originalArray并构建一个newArray其中每行是两行的平均值originalArray(因此行newArray数的一半originalArray).这应该是一件简单的事情,但下面的脚本非常慢.非常感谢社区的任何建议.
newList = []
for i in range(0, originalArray.shape[0], 2):
r = originalArray[i:i+2,:].mean(axis=0)
newList.append(r)
newArray = np.asarray(newList)
Run Code Online (Sandbox Code Playgroud)
必须有一种更优雅的方式来做到这一点.非常感谢!
有没有办法将掩码 3D numpy 数组转换为用 NaN 代替掩码的 numpy 数组?这样我就可以使用 轻松写出 numpy 数组np.save。另一种方法是找到一种方法来写出屏蔽数组,并为屏蔽元素提供一些清晰的指示符。我努力了:
a = np.ma.zeros((500, 500))
a.dump('test')
Run Code Online (Sandbox Code Playgroud)
但我需要该文件采用某种格式,以便可以将其读入 R。谢谢。
我正在使用rJAGS构建一个多级贝叶斯模型,我想为几个参数指定一个Cauchy先验.有没有办法在JAGS中执行此操作,还是需要切换到STAN?我的JAGS模型如下.我想dnorm用Cauchy 替换分布,但是JAGS找不到标准的RCauchy分布,例如dcauchy,pcauchy
model_string <- "model{
for (i in 1:n){
y[i] ~ dbin(mu[i], 1)
p.bound[i] <- max(0, min(1, mu[i])) #381 gelman
logit(mu[i]) <- a[dc[i]] + b1*x1[i] + b2*x2[i]
}
b1 ~ dnorm(0,.001)
b2 ~ dnorm(0,.001)
for (j in 1: n.dc ){
a[j] ~ dnorm(g0, tau.a) #not goj, g1j
}
g0 ~ dnorm(0,.001)
tau.a <- pow(sigma.a , -2)
sigma.a ~ dnorm(0,.001)
}"
Run Code Online (Sandbox Code Playgroud) 如果我有一个数据集工作,我想对数据进行分组(即通过country),计算汇总统计(mean()),然后ungroup()将data.frame有一个与原始尺寸的数据集(country- year)和一个新列,其中列出了平均每个国家(重复超过n年),我该怎么做dplyr?该ungroup()函数不返回data.frame原始尺寸:
gapminder %>%
group_by(country) %>%
summarize(mn = mean(pop)) %>%
ungroup() # returns data.frame with nrows == length(unique(gapminder$country))
Run Code Online (Sandbox Code Playgroud)