小编upa*_*ove的帖子

ifelse()有三个条件

我有两个向量:

a<-rep(1:2,100)

b<-sample(a)
Run Code Online (Sandbox Code Playgroud)

我想有一个ifelse条件,将每个值a与相应的值进行比较b,并执行以下操作:

if a>b 1
if a<b 0
if a=b sample(1:2,length(a),replace=T)
Run Code Online (Sandbox Code Playgroud)

前两个可以完成:

ifelse(a>b,1,0)
Run Code Online (Sandbox Code Playgroud)

但我不确定如何将案例纳入ab平等.

r

14
推荐指数
3
解决办法
4万
查看次数

为x轴的指定间隔添加水平线到ggplot()

我想在现有的绘图中添加水平线,但我只想绘制x轴的某些间隔的线.

例如,我想在X = 1:5和y = 50时有一条水平线.

我会用 existing_plot+geom_hline(yintercept = 50)

是否也可以以某种方式指定x值?

r ggplot2

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

从列表列表中选择列表的子集

我有以下表格的列表清单:

[[1]]
[[1]][[1]]
[1] 0.4
[[2]]
[1] 0.3
[[3]]
[1] 9
[[4]]
[1] 10
[[5]]
[1] 0.4

[[2]]
[[2]][[1]]
[1] 0.4
[[2]]
[1] 0.4
[[3]]
[1] 99
[[4]]
[1] 4
[[5]]
[1] 3

[[3]]
[[3]][[1]]
[1] 0.3
[[2]]
[1] 0.3
[[3]]
[1] 2
[[4]]
[1] 08
[[5]]

...

[[100]]
[[100]][[1]]
[1] 0.4
[[2]]
[1] 0.1
[[3]]
[1] 0
[[4]]
[1] 7
[[5]]
Run Code Online (Sandbox Code Playgroud)

我想选择所有列表中有0.4的列表[[i]][[1]].

也就是说,选择

[[i]][[1]]==0.4
Run Code Online (Sandbox Code Playgroud)

结果将是:

[[1]]
[[1]][[1]
[1] 0.4
[[2]]
[1] 0.3
[[3]]
[1] 9
[[4]]
[1] …
Run Code Online (Sandbox Code Playgroud)

r

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

矩阵列表中每个元素的平均值

我有一个包含三个矩阵的列表:

a<-matrix(runif(100))
b<-matrix(runif(100))
c<-matrix(runif(100))

mylist<-list(a,b,c)
Run Code Online (Sandbox Code Playgroud)

我想获得三个矩阵中每个元素的平均值.

我尝试过:aaply(laply(mylist, as.matrix), c(1, 1), mean)但是这会返回每个矩阵的均值,而不是像每个矩阵那样取均值rowMeans().

r

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

生成具有预先指定的度分布的无向网络,没有任何自循环

我想生成一个有100个节点的无向​​网络,其中一半节点的度数为10,另一半节点的度数为3.这样的网络是否可以在没有自循环的情况下构建?

使用下面指定的代码:

library(graph)
degrees=c(rep(3,50),rep(10,50))
names(degrees)=paste("node",seq_along(degrees)) #nodes must be names
x=randomNodeGraph(degrees)
Run Code Online (Sandbox Code Playgroud)

我可以获得这样的图表,但包括自循环.

有没有办法获得没有自循环的图形?

r

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

将which.max应用于第二,第三等最高值

我有一个矢量:

x<-rnorm(100),

我想创建一个向量,存储X中第一个,第二个,第三个......第100个最高值的位置.

例如,如果x=4,9,2,0,10,11那么所需的向量6,5,2,1,3,4是否有这样做的功能?

r

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

计算两个向量中相同位置的相同元素的数量

我有两个向量:

set.seed(12)

a<-sample(c(0,1),10,replace=T)

b<-sample(c(0,1),10,replace=T)

> a
 [1] 0 1 1 0 0 0 0 1 0 0
> b
 [1] 0 1 0 0 0 0 0 1 1 0
Run Code Online (Sandbox Code Playgroud)

我想计算两个向量中匹配的元素数量.

所以在上面的例子中:

以下元素匹配:1,2,4,5,6,7,8,10.

我不能用set运算符来做这个,因为我对常见元素不感兴趣,但也对它们的位置不感兴趣.

r

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

根据不同数字的数量对矩阵行进行排序

我有一个包含二进制向量行的矩阵:

library(gtools)
mat<-permutations(2,6,v=c(0,1),repeats.allowed=TRUE)
Run Code Online (Sandbox Code Playgroud)

我想对矩阵的行进行排序,以使每行与其直接邻居(上方和下方)仅相差1位.

这可能吗?

r matrix

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

将向量列表转换为矩阵

我有一个矩阵:

b<-matrix(NA,ncol=100,nrow=10)
Run Code Online (Sandbox Code Playgroud)

和向量列表:

load("https://dl.dropboxusercontent.com/u/22681355/a.Rdata")
Run Code Online (Sandbox Code Playgroud)

该列表包含 100 个向量。我想将列表中的每个向量分配给矩阵的一列。这可以吗?

r matrix

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

调整地块之间的距离

我有几个 ggplot 图想要合并使用grid.arrange()

当我合并这些图时,每个图周围都有一个大的白色区域,使它们彼此远离。

有没有办法调整图之间的距离?以及图周围白色区域的大小?

r ggplot2 gridextra

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

记下二进制字符串的所有组合

我有一个长度为5的字符串.字符串的每个元素都可以取两个值0和1.

我想写下所有可能的排列.

例如:

0 0 0 0 0 
1 0 0 0 0
0 1 0 0 0
.
.
.
1 1 1 1 1 
Run Code Online (Sandbox Code Playgroud)

有2 ^ 5个这样的组合.

我知道有一个命令被调用,combn但我不知道如何处理每个数字可以采用两个可能值的事实.

r

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

标签 统计

r ×11

ggplot2 ×2

matrix ×2

gridextra ×1