小编Rob*_*rto的帖子

用数据框中的NA替换字符值

我有一个数据框,包含(在随机位置)"foo"我要用a替换的字符值(比如说)NA.

在整个数据框架中这样做的最佳方法是什么?

r dataframe na

59
推荐指数
4
解决办法
8万
查看次数

将变量添加到包含每行最大值的数据框

我想在dataframe(df)中添加一个变量(列),在每行中包含第2到第26列的该行的最大值.

对于第一行,代码将是:

df$max[1] <- max(df[1,2:26])
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来概括第1行到第865行.如果我给:

df$max[1:865] <- max(df[1:865, 2:26])
Run Code Online (Sandbox Code Playgroud)

我得到变量所有行的总体最大值df$max.

r

31
推荐指数
3
解决办法
5万
查看次数

逃脱的美元符号ipython笔记本

我在iPython中有一个包含四个美元符号的降价单元格.iPython将美元符号之间的任何内容解释为MathJax表达式,这不是我想要的.我如何逃脱美元符号?使用反斜杠转义它们会阻止MathJax进入,但反斜杠会在编译的Markdown中显示.

关于如何获得美元符号的任何想法?

谢谢

python markdown ipython mathjax

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

将不等长的矢量组合成数据帧

我有一个矢量列表,它们是不等长度的时间序列.我的最终目标是在图表中绘制时间序列ggplot2.我想我最好首先合并数据帧中的向量(其中较短的向量将使用NA扩展),这也是因为我想以表格格式(例如.csv)导出数据以供其他人阅读.

我有一个包含所有向量名称的列表.列标题可以由第一个向量设置,这是最长的.例如:

> mylist
[[1]]
[1] "vector1"

[[2]]
[1] "vector2"

[[3]]
[1] "vector3"
Run Code Online (Sandbox Code Playgroud)

等等

我知道要走的路是使用Hadley的plyr包但我想问题是我的列表包含向量的名称,而不是向量本身,所以如果我输入:

do.call(rbind, mylist)
Run Code Online (Sandbox Code Playgroud)

我得到一个包含我想要合并的dfs名称的单列df.

> do.call(rbind, actives)
      [,1]           
 [1,] "vector1" 
 [2,] "vector2" 
 [3,] "vector3" 
 [4,] "vector4" 
 [5,] "vector5" 
 [6,] "vector6" 
 [7,] "vector7" 
 [8,] "vector8" 
 [9,] "vector9" 
[10,] "vector10"
Run Code Online (Sandbox Code Playgroud)

等等

即使我自己创建了一个包含对象的列表,我也会获得一个空的数据帧:

mylist <- list(vector1, vector2)
mylist
[[1]]
        1         2         3         4         5         6         7         8         9        10        11        12 
0.1875000 0.2954545 0.3295455 0.2840909 0.3011364 0.3863636 0.3863636 0.3295455 0.2954545 0.3295455 0.3238636 0.2443182 …
Run Code Online (Sandbox Code Playgroud)

r

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

撤消R中的命令

我无法在R中找到撤销命令的效果(既不是R的简介也不是Nuts的R).在处理交互式图形时,我特别感兴趣的是撤消/删除.

你建议采用什么方法?

r

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

在R中缓存昂贵的操作

一个非常简单的问题:

我正在使用文本编辑器编写和运行我的R脚本,以使它们可重现,正如SO的几个成员所建议的那样.

这种方法对我来说非常有效,但我有时必须执行昂贵的操作(例如,read.csv或者reshape在2M行数据库上),我最好在R环境中缓存,而不是每次运行脚本时重新运行(这是通常很多次我进步并测试新的代码行).

有没有办法缓存脚本在某一点上的作用,所以每次我只运行增量代码行(就像我通过交互运行R一样)?

谢谢.

caching r

8
推荐指数
4
解决办法
3015
查看次数

带有ggplot2的分组条形图和已经制表的数据

我将计数模型拟合到实际数据的矢量,现在想要将实际和预测绘制为分组(躲闪)条形图.由于这是计数模型,因此数据是离散的(X = x从0到317).由于我正在拟合模型,因此我只有已经列出的预测值数据.

以下是我原始数据框的外观:

  actual predicted
1   3236 3570.4995
2   1968 1137.1202
3    707  641.8186
4    302  414.8763
5    185  285.1854
6    104  203.0502
Run Code Online (Sandbox Code Playgroud)

我用ggplot2转换了要绘制的数据:

melted.data <- melt(plot.data)
melted.data$realization <- c(rep(0:317, times=2))
colnames(melted.data)=c('origin','count','realization')
Run Code Online (Sandbox Code Playgroud)

所以我的数据框现在看起来像这样:

head(melted.data)
  origin count realization
1 actual  3236           0
2 actual  1968           1
3 actual   707           2
4 actual   302           3
5 actual   185           4
6 actual   104           5
> tail(melted.data)
       origin        count realization
631 predicted 1.564673e-27         312
632 predicted 1.265509e-27         313
633 predicted 1.023552e-27         314
634 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在Redshift中使用第一个非空的后续值填充缺失值

我在Redshift.鉴于以下数据:

CREATE TABLE test (
id INT,
val1 INT,
val2 INT
);

INSERT INTO test VALUES
(1, 0,  NULL),
(2, 0,  NULL),
(3, 13, 1),
(4, 0,  NULL),
(5, 0,  NULL),
(6, 0,  NULL),
(7, 0,  NULL),
(8, 21, 2),
(9, 0,  NULL),
(10, 143,3)
;
Run Code Online (Sandbox Code Playgroud)

我想用下面的第一个非空值填充缺失的val2值,例如

   INSERT INTO results VALUES
    (1, 0,  1),
    (2, 0,  1),
    (3, 13, 1),
    (4, 0,  2),
    (5, 0,  2),
    (6, 0,  2),
    (7, 0,  2),
    (8, 21, 2),
    (9, 0,  3),
    (10,143,3)
    ; …
Run Code Online (Sandbox Code Playgroud)

sql amazon-redshift

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

返回匹配的逻辑向量:支持regexp?

我想在字符向量上返回regexp匹配的逻辑向量,但是匹配或%in似乎不支持正则表达式,例如:

> x <- c("Bill", "Brett", "Jane")
> grep("^B", x)
[1] 1 2
> x %in% "^B"
[1] FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

我想这回来

[1] TRUE TRUE FALSE
Run Code Online (Sandbox Code Playgroud)

想法?

谢谢,

罗伯托

regex r

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

洛伦兹曲线图

我需要得到一个累积变量的洛伦兹曲线图作为观测数量的函数.我希望两个轴都以百分比显示(例如,观察是买家的数量,y变量是他们购买的数量,买家已经按降序排列,我想得到的图表是"前10名" %购买者购买了总购买量的90%").我的数据集是几百万次观察.

做这个的最好方式是什么?子问题:

如果我需要为总观测值的分位数添加两个变量并且总买入$(以便使用它们来绘制),那么返回行号的对象是什么?我试过了:

user_quantile <- row(df)/nrow(df)

但我得到一个相同列的矩阵(user_quantile.1,user_quantile.2),其中我只需要一列.

是否有任何方法可以跳过添加百分比作为变量,只有轴数值?

情节可以达到很多点,而不是我需要的线.什么是最小化计算工作并获得漂亮图表的最佳方法?

谢谢.

r

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

标签 统计

r ×8

amazon-redshift ×1

caching ×1

dataframe ×1

ggplot2 ×1

ipython ×1

markdown ×1

mathjax ×1

na ×1

python ×1

regex ×1

sql ×1