小编Hen*_*rik的帖子

为什么使用单字符索引进行索引适用于数据框而不适用于矩阵?

在数据帧中,[可以使用单个字符执行索引。例如mtcars["mpg"]

另一方面,在矩阵上尝试相同的结果,NA例如

m = cbind(A = 1:5, B = 1:5)
m["A"]
# NA
Run Code Online (Sandbox Code Playgroud)

...暗示这在某种程度上是一种无效的矩阵子集方法。

这是正常的 R 行为吗?如果有,记录在哪里?

r matrix subset

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

为什么打印 lm 对象只显示几个组件(调用和系数)?

当将lm对象打印到控制台(此处a)时,它仅显示调用和系数。另一方面,可以使用 来从模型对象中提取其他几个元素$,例如残差。当我输入对象名称时,为什么只打印部分模型结果lm

在此输入图像描述

r return function lm

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

'R:无效使用重复运算符'

我在R中编写一个小函数,如下所示:

    tags.out <- as.character(tags.out)
    tags.out.unique <- unique(tags.out)
    z <- NROW(tags.out.unique)

    for (i in 1:10) {
       l <- length(grep(tags.out.unique[i], x = tags.out))
       tags.count <- append(x = tags.count, values = l) }
Run Code Online (Sandbox Code Playgroud)

基本上我想要获取唯一字符向量(tags.out.unique)的每个元素,并在unique函数之前计算它在向量中的出现次数.

这上面的代码段可以正常工作,但是,当我更换for (i in 1:10)for (i in 1:z)或甚至一些数大于10(18000例如)我得到以下错误较大的:

Error in grep(tags.out.unique[i], x = tags.out) : invalid regular expression 'c++', reason 'Invalid use of repetition operators

如果有人能够帮助我了解这里发生了什么,我将非常感激.

非常感谢.

regex r

0
推荐指数
2
解决办法
3200
查看次数

RBbg - 重塑时间序列数据

有没有更好的方法来重塑数据帧数据?

temp <- bdh(conn,c("AUDUSD Curncy","EURUSD Curncy"),"PX_LAST","20110101")

head(temp)
         ticker       date PX_LAST
1 AUDUSD Curncy 2011-01-01      NA
2 AUDUSD Curncy 2011-01-02      NA
3 AUDUSD Curncy 2011-01-03  1.0205
4 AUDUSD Curncy 2011-01-04  1.0040
5 AUDUSD Curncy 2011-01-05  1.0014
6 AUDUSD Curncy 2011-01-06  0.9969
Run Code Online (Sandbox Code Playgroud)

tail(temp)
            ticker       date PX_LAST
2127 EURUSD Curncy 2013-11-26  1.3557
2128 EURUSD Curncy 2013-11-27  1.3570
2129 EURUSD Curncy 2013-11-28  1.3596
2130 EURUSD Curncy 2013-11-29  1.3591
2131 EURUSD Curncy 2013-11-30      NA
2132 EURUSD Curncy 2013-12-01      NA
Run Code Online (Sandbox Code Playgroud)

换句话说,数据只是垂直地相互固定,为了使它们工作,需要进一步处理.如何将这些数据重新组合成各种代码,即

head(temp)
           AUDUSD.Curncy EURUSD.Curncy …
Run Code Online (Sandbox Code Playgroud)

r time-series reshape

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

数据列上的R data.table setkey

我们真的需要添加J()以选择数字列吗?

我们可以不用得到字符列的结果J().

library(data.table)
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
setkey(DT,x)  
DT["a"]  
#    x y v
# 1: a 1 1
# 2: a 3 2
# 3: a 6 3

setkey(DT,y)  
DT["1"]  
# Error in `[.data.table`(DT, "1") : 
#  typeof x.y (double) != typeof i.y (character)

# Is it a bug?

DT[J(1)]
#    y x v
# 1: 1 a 1
# 2: 1 b 4
# 3: 1 c 7
Run Code Online (Sandbox Code Playgroud)

谢谢!

r data.table

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

所有数据子集均值的均值与总体均值不同

我有一个大型数据集,看起来像这样:

str(ldt)
 data.frame':   116105 obs. of  11 variables:
 $ s      : Factor w/ 35 levels "1","10","11",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ PM     : Factor w/ 3 levels "C","F","NF": 3 3 3 3 3 3 3 3 3 3 ...
 $ day    : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
 $ block  : Factor w/ 3 levels "1","2","3": 2 2 2 2 2 2 2 …
Run Code Online (Sandbox Code Playgroud)

r

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

向量的累积最小值

我有一个向量:

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

我想计算累积最小值:

c(5,3,2,2,2,2,1)
Run Code Online (Sandbox Code Playgroud)

知道如何实现这一目标吗?

r vector

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

如何在data.table中移动多个单元格值

我在R里有一个data.table

 date a b c d e f 
 2008 1 5 3 6 9 8 
 2008 3 6 2 1 5 8
 2008 2 8 3 4 3 0
 2009 5 5 3 6 9 8
 2009 3 3 2 2 5 5
 2010 2 8 3 7 7 0
Run Code Online (Sandbox Code Playgroud)

现在我想将给定的表转换为新的布局.B列应从第二行开始,第三行第c列,第四行第d列,......其余值应填满"0".并且不应增加表的长度:

date a b c d e f
2008 1 0 0 0 0 0
2008 3 5 0 0 0 0
2008 2 6 3 0 0 0 
2009 …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

R- data.table中的组的随机样本

如何在data.table中随机采样例如三组,以使结果包含三组,其中原始data.table中的所有行均如此?

library(data.table)
dat <- data.table(ids=1:20, groups=sample(x=c("A","B","C", "D", "E", "F"), 20, 
replace=TRUE))
Run Code Online (Sandbox Code Playgroud)

我知道如何从data.table中随机选择10行:

dat.sampl1 <- as.data.table(sapply(dat[], sample, 10))
Run Code Online (Sandbox Code Playgroud)

还有如何按组抽样

dat[,.SD[sample(.N, min(.N,3))], by = groups]
Run Code Online (Sandbox Code Playgroud)

但是如何随机分组?因此结果应如下所示:

    ids groups
     1      F
    11      F
     3      F
    18      F
     8      A
     9      A
    10      A
    17      A
    19      A
    12      E
    14      E
    16      E
Run Code Online (Sandbox Code Playgroud)

r data.table

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

获取任何 R 对象的字符串表示形式

我希望能够获得任何 R 对象的字符串表示形式(而不是打印)。在Python中,我会得到这样的东西

>>> class Foo():
...     pass
... 
>>> f = Foo()
>>> print(f)
<__main__.Foo object at 0x10dab0910>
>>> x=str(f)
>>> x
'<__main__.Foo object at 0x10dab0910>'
>>> a = {1, 2,3 }
>>> str(a)
'{1, 2, 3}'
>>> str(str)
"<class 'str'>"
>>> str(foo)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'foo' is not defined
>>> 
KeyboardInterrupt
>>> def foo(): pass
... 
>>> str(foo)
'<function foo at 0x10dab1170>'
Run Code Online (Sandbox Code Playgroud)

在 R 中,我尝试了以下操作(以斜体 …

string r

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

如何在R中选择一个数据集中但不在另一个数据集中的类别

有2个数据集

s=structure(list(var1 = c("a", "f", "k", "tt", "ee"), var2 = c("b", 
"g", "l", "qq", "rr"), var3 = c("c", "h", "m", "ff", "cc"), var4 = c("d", 
"i", "n", "gg", "vv"), var5 = c("e", "j", "o", "aa", "xx"), metric_var = c(100L, 
200L, 300L, 567L, 789L)), class = "data.frame", row.names = c(NA, 
-5L))
Run Code Online (Sandbox Code Playgroud)

medagger=structure(list(var1 = c("a", "z", "w", "f", "k"), var2 = c("b", 
"u", "e", "g", "l"), var3 = c("c", "p", "r", "h", "m"), var4 = c("d", 
"q", "q", "i", "n"), var5 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

标签 统计

r ×11

data.table ×3

dplyr ×1

function ×1

lm ×1

matrix ×1

regex ×1

reshape ×1

return ×1

string ×1

subset ×1

time-series ×1

vector ×1