小编dze*_*zer的帖子

max.col删除NA

我想找到矩阵行最大值的列而忽略NA.例如,

set.seed(1)
a <- matrix(runif(15), ncol=3)
a[a<.3] <- NA
a[5,] <- NA
Run Code Online (Sandbox Code Playgroud)

那是:

> a
      [,1]  [,2]  [,3] 
[1,]    NA 0.898    NA 
[2,] 0.372 0.945    NA
[3,] 0.573 0.661 0.687
[4,] 0.908 0.629 0.384
[5,]    NA    NA    NA
Run Code Online (Sandbox Code Playgroud)

可以使用max以下方法获得忽略NA的行最大值:

> apply(a, 1, max, na.rm=T)
[1] 0.898 0.945 0.687 0.908  -Inf
Run Code Online (Sandbox Code Playgroud)

我正在寻找这些最大值的列位置,但max.col仅适用于没有任何NA的行.

> max.col(a, ties.method="first")
[1] NA NA  3  1 NA
Run Code Online (Sandbox Code Playgroud)

如何找到具有一些非缺失值的行的(第一个)最大化列?即,类似于:

[1]  2  2  3  1 NA
Run Code Online (Sandbox Code Playgroud)

r max na

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

在 R 中创建“经济学家”风格的图?

这个问题有两个部分,一个是一般性的,另一个是具体的案例:

  1. R 中是否有一个主题或模板来生成与“经济学人”杂志上发布的图表具有相似外观的图?其他上下文中的示例包括:从 python为 python 和set scheme economistStata创建“经济学人”样式的图形。

  2. 具体来说,ggplot2生成类似于下面示例的组条形图的语法(例如 in )是什么,带有粗线的彩色形状标记跨越它们之间的范围(左图),或矩形置信区间(右图) ?

在此处输入图片说明

资料来源:https : //www.economist.com/graphic-detail/2020/04/01/covid-19-may-be-far-more-prevalent-than-previously-thought

plot r bar-chart ggplot2 stata

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

将data.table分成大致相等的部分

并行任务,我需要拆分大data.table大致相等的部分,同时保持由列deinfed组,id。假设:

N 是数据的长度

k 是的不同值的数量 id

M 是所需零件的数量

这个想法是M << k << N,所以除以id不好。

library(data.table)
library(dplyr)

set.seed(1)
N <- 16 # in application N is very large
k <- 6  # in application k << N
dt <- data.table(id = sample(letters[1:k], N, replace=T), value=runif(N)) %>%
      arrange(id)
t(dt$id)

#     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
# [1,] "a"  "b"  "b"  "b"  "b"  "c"  "c"  "c"  "d"  "d"   "d" …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r data.table

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

根据值微移 ggplot 文本

我将如何根据值轻推文本:

例如,

library(ggplot2)
theme_set(theme_bw())  

# Data Prep
data("mtcars")  # load data
mtcars$`car name` <- rownames(mtcars)  # create new column for car names
mtcars$mpg_z <- round((mtcars$mpg - mean(mtcars$mpg))/sd(mtcars$mpg), 2)  # compute normalized mpg
mtcars$mpg_type <- ifelse(mtcars$mpg_z < 0, "below", "above")  # above / below avg flag
mtcars <- mtcars[order(mtcars$mpg_z), ]  # sort
mtcars$`car name` <- factor(mtcars$`car name`, levels = mtcars$`car name`)  # convert to factor to retain sorted order in plot.

# Diverging Barcharts
ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) + 
  geom_bar(stat='identity', …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在R中将非矩形数据导入为矩形

我需要加载社交网络数据,其中每个用户都有一个未知且可能有大量的朋友,存储为以下格式的文本文件:

UserId: FriendId1, FriendId2, ...
1: 12, 33
2:
3: 4, 6, 10, 15, 16
Run Code Online (Sandbox Code Playgroud)

到两列data.frame:

  UserId FriendId
1      1       12
2      1       33
3      3        4
4      3        6
5      3       10
6      3       15
7      3       16
Run Code Online (Sandbox Code Playgroud)

你怎么会在R?

阅读,填充和重塑是低效的,因为它需要在内存中保留许多列NA.

相关问题在这里,这里.

r social-networking

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