小编Mat*_*ath的帖子

仅为正数的累计和

我有这个向量:

x = c(1,1,1,1,1,0,1,0,0,0,1,1)
Run Code Online (Sandbox Code Playgroud)

而且我只想为正数做累积求和.我应该有以下向量作为回报:

xc = (1,2,3,4,5,0,1,0,0,0,1,2)
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

我已经尝试过了,cumsum(x)但是它会对所有值进行累积求和,并给出:

cumsum(x)
[1] 1 2 3 4 5 5 6 6 6 6 7 8
Run Code Online (Sandbox Code Playgroud)

r

29
推荐指数
4
解决办法
2567
查看次数

R中的空间聚类(简单示例)

我有这么简单 data.frame

 lat<-c(1,2,3,10,11,12,20,21,22,23)
 lon<-c(5,6,7,30,31,32,50,51,52,53)
 data=data.frame(lat,lon)
Run Code Online (Sandbox Code Playgroud)

想法是基于距离找到空间聚类

首先,我绘制地图(lon,lat):

plot(data$lon,data$lat)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

很明显我有三个基于点位置之间距离的聚类.

为此目的,我在R中尝试了这个代码:

d= as.matrix(dist(cbind(data$lon,data$lat))) #Creat distance matrix
d=ifelse(d<5,d,0) #keep only distance < 5
d=as.dist(d)
hc<-hclust(d) # hierarchical clustering
plot(hc)
data$clust <- cutree(hc,k=3) # cut the dendrogram to generate 3 clusters
Run Code Online (Sandbox Code Playgroud)

这给出了:

在此输入图像描述

现在我尝试使用簇中的颜色绘制相同的点

plot(data$x,data$y, col=c("red","blue","green")[data$clust],pch=19)
Run Code Online (Sandbox Code Playgroud)

结果如下

在此输入图像描述

这不是我想要的.

实际上,我想找到像这样的情节

在此输入图像描述

谢谢你的帮助.

r hierarchical-clustering spatial geospatial

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

R中箱形图中的下四分位数和上四分位数

我有

X=c(20 ,18, 34, 45, 30, 51, 63, 52, 29, 36, 27, 24)
Run Code Online (Sandbox Code Playgroud)

随着boxplot,我试图绘制quantile(X,0.25),quantile(X,0.75) 但这不是真正的R中的boxplot中的上下四分位数

boxplot(X)
abline(h=quantile(X,0.25),col="red",lty=2)
abline(h=quantile(X,0.75),col="red",lty=2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 你知道为什么吗?

plot r boxplot

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

pd.df.plot.box() 和 pd.df.boxplot() 之间的区别

为什么 pandas 有两个 Boxplot 函数:pandas.DataFrame.plot.box()pandas.DataFrame.boxplot()

df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

df.boxplot()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python boxplot pandas

6
推荐指数
1
解决办法
1199
查看次数

3
推荐指数
1
解决办法
558
查看次数

R生成如111222333444555666777 ..... 505050的序列

我想生成一个序列,如:

c(rep(1,7),rep(2,7),rep(3,7),rep(4,7),rep(5,7),rep(6,7),rep(7,7)) 
Run Code Online (Sandbox Code Playgroud)

但对于大数而不是7,说100.

我怎么能这样做而不重复到100?

谢谢

sequences r repeat seq

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

控制图中的xlim

我的例子:

x = c(1:15)
y = c(-4:10)
plot(x, y)
Run Code Online (Sandbox Code Playgroud)

R xlim自动给出:2, 4, 6, ..., 14

我怎样才能改变它: 1, 2, 3,..., 15

我试过了 :

my.limits = as.numeric(seq(1, 15, by = 1))
x = c(1:15)
y = c(-4:10)
plot(x, y, ylim = c(-4,10), xlim = my.limits)
Run Code Online (Sandbox Code Playgroud)

但有错误:

Erreur dans plot.window(...) : valeur 'xlim' incorrecte
Run Code Online (Sandbox Code Playgroud)

plot r

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

R在散点图中的每个点处绘制一个圆圈

我有一个10×10的矩形散点图(说)我想在这个散点图中的每个点周围绘制一个半径= 3的圆.你有什么想法吗?

谢谢你们.

r scatter-plot

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

lm 中的多项式回归(2 种方法)

我正在尝试使用 R 进行多项式回归lm,我有

Time=c(1980:2016)
y= rnorm(length(Time))
Run Code Online (Sandbox Code Playgroud)

我用了 :

reg=lm(y~poly(Time,2))
round(reg$coefficients,3)
Run Code Online (Sandbox Code Playgroud)

这使 :

 (Intercept) poly(Time, 2)1 poly(Time, 2)2 
        -0.110         -1.298          0.172
Run Code Online (Sandbox Code Playgroud)

和 :

Time2=Time^2
reg2=lm(y~Time+Time2)
round(reg2$coefficients,3)
Run Code Online (Sandbox Code Playgroud)

它给

(Intercept)        Time       Time2 
   1146.590      -1.128       0.000 
Run Code Online (Sandbox Code Playgroud)

哪里有问题?

r lm

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