小编Bon*_*ono的帖子

跨嵌套列表的rbind数据帧

我有一个了解各种不同的rbinding名单问题,比如这个,但我真的不能找到这样做的更有效的方法.

我有一个嵌套列表nestlist,其中包含三个列表,每个列表包含两个数据帧:

df1 <- data.frame(ID = paste0(LETTERS[1:4],1:4), valueA = seq(0.1,0.4,0.1), Category= "Apples")
df2 <- data.frame(ID = paste0(LETTERS[1:4],1:4), valueB = seq(0.1,0.4,0.1),  Category= "Apples")
list1 <- list(df1,df2)

df3 <- data.frame(ID = paste0(LETTERS[1:4],1:4), valueA = seq(0.1,0.4,0.1), Category= "Pears")
df4 <- data.frame(ID = paste0(LETTERS[1:4],1:4), valueB = seq(0.1,0.4,0.1),  Category= "Pears")
list2 <- list(df3,df4)

df5 <- data.frame(ID = paste0(LETTERS[1:4],1:4), valueA = seq(0.1,0.4,0.1), Category= "Stairs")
df6 <- data.frame(ID = paste0(LETTERS[1:4],1:4), valueB = seq(0.1,0.4,0.1),  Category= "Stairs")
list3 <- list(df5,df6)

nestedlist <- list(list1,list2,list3)
Run Code Online (Sandbox Code Playgroud)

我想找到一种更简单的方法,通过公共value …

nested r list rbind

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

grid.arrange ggplot2按列而不是按行使用列表绘制

我想ggplot2从列表中创建多个绘图,grid.arrange但是在按行排列之前按行排列.

gg_list1 <- list(qplot(mpg, disp, data = mtcars), 
                 qplot(hp, wt, data = mtcars), 
                 qplot(qsec, wt, data = mtcars))

gg_list2 <- list(qplot(mpg, disp, data = mtcars), 
                 qplot(hp, wt, data = mtcars), 
                 qplot(qsec, wt, data = mtcars))
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做:

do.call(grid.arrange,c(gg_list1,gg_list2 , ncol = 2, nrow  = 3))
Run Code Online (Sandbox Code Playgroud)

但它从上到下从左到右填充.

我试过这个:

 do.call(grid.arrange, c(gg_list1, arrangeGrob(gg_list2, nrow = 3), ncol = 2))
Run Code Online (Sandbox Code Playgroud)

但是得到 Error: length(widths) == ncol is not TRUE

有任何想法吗?

r list ggplot2 gridextra r-grid

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

在 R 中测试图形平面度

R中有没有办法测试网络图是否是平面的?我看过 igraph 但无济于事。

我知道我可以使用 BGL 工具箱在 MATLAB 中使用,但我想知道是否有人在 R 中尝试过。

r igraph planar-graph network-analysis

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

如何计算R中的模式但删除NA值

我能够使用计算模式

Mode <- function(x) {
 ux <- unique(x) 
tab <- tabulate(match(x, ux)); ux[tab == max(tab)]
}
Run Code Online (Sandbox Code Playgroud)

但是,我的数据框中的 NA 值比整数多,因此当我运行此模式时,我会返回 NA。

有没有办法以某种方式删除上述函数中的 NA 值,或者我是否需要最初从数据框中删除 NA 值?如果是这样,如何?我试过

DF.omit.NA<- na.omit(DF) ###and na.exclude
Run Code Online (Sandbox Code Playgroud)

它没有产生任何数据行。

r mode na

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

根据其他矩阵的长度向数据矩阵添加零,保持 colname 顺序

我有以下矩阵mat1

mat1 <- matrix (1:16, 4)
colnames(mat1) <- c("A1","B2","C3","D4"); row.names(mat1) <- c("A1","B2","C3","D4")

 mat1
   A1 B2 C3 D4
A1  1  5  9 13
B2  2  6 10 14
C3  3  7 11 15
D4  4  8 12 16
Run Code Online (Sandbox Code Playgroud)

我还有一个较小的矩阵small_mat

small_mat <- matrix (1:4, 2)
colnames(small_mat) <- c("A1","C3"); row.names(small_mat) <- c("A1","C3")

  A1 C3
A1  1  3
C3  2  4
Run Code Online (Sandbox Code Playgroud)

我想制作small_mat与 相同的大小mat1,在需要的地方添加零并保持colnamesrow.names的顺序与 相同mat1

期望的结果:

       A1 B2 C3 D4
    A1 …
Run Code Online (Sandbox Code Playgroud)

r matrix rbind

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

有没有一种简单的方法来获得带有北约语音字母的矢量?

考虑以下向量

x <- paste0(LETTERS,1:26)
Run Code Online (Sandbox Code Playgroud)

我想在保留数字的同时用北约语音字母(alpha,bravo,charli等)替换这些字母.是否有一个载体r,类似于LETTERS具有完整的北约语音字母?

r paste

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

标签 统计

r ×6

list ×2

rbind ×2

ggplot2 ×1

gridextra ×1

igraph ×1

matrix ×1

mode ×1

na ×1

nested ×1

network-analysis ×1

paste ×1

planar-graph ×1

r-grid ×1