小编Jos*_*ich的帖子

使用变量调用R中的特定列?

我想使用字符向量对象轻松地从xts对象中提取列数据.我只是尝试将第一列名称分配给变量x并使用它来调用它mx$x,但它没有用.有没有办法做到这一点?

library(xts)
mx <- xts(rnorm(10), Sys.Date()+1:10)
colnames(mx) <- "good"
x <- "good"
mx$x
# NULL
mx[x]
# Error in if (length(c(year, month, day, hour, min, sec)) == 6 && c(year,  : 
# missing value where TRUE/FALSE needed
# In addition: Warning messages:
# 1: In as_numeric(YYYY) : NAs introduced by coercion
# 2: In as_numeric(YYYY) : NAs introduced by coercion
mx[[x]]
# Error in mx[[x]] : subscript out of bounds
Run Code Online (Sandbox Code Playgroud)

r xts

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

从for循环申请加速R

我正在运行一个带有两个矩阵的for循环.一个matrix(A)有~100个字符串(例如,name1,name2,...,name100),只有一列.另一个比值和字符串的行和列matrix(B)更大A.在B矩阵的某些地方,矩阵的每个名称A都是匹配的.我想A在输出矩阵上用特定的矩阵字符串提取和堆叠匹配的整行.

所以,我运行如下,

output <- NULL
for(K in 1:nrow(A)){
  print(K)
  for(cc in 1:nrow(B)){
    for(dd in 1:ncol(B)){
      if(toupper(A[K])==toupper(B[cc,dd])){
        output <- rbind(output,B[cc,])
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但它太慢了.在运行时间方面,如何使循环更有效?

r

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

使用特定日期格式为日期信息创建新列

亲爱的所有我正在处理一个有几年数据的文件,我正在尝试创建一个从日期coloumn(例如01/01/1997 12:00)读取年份和月份信息的aditional coloumn并创建一个新的coloumn一起月份和年份(例如Jan-97).

我不知道如何继续这个,但我想要编码的是下面图片中名为"new_date"的coloumn:

在此输入图像描述

我的样本数据:

Data <-
structure(list(date = structure(c(1L, 4L, 7L, 2L, 5L, 8L, 3L, 
6L, 9L), .Label = c("01/01/1997 12:00", "01/01/1998 15:00", "01/01/1999 18:00", 
"01/02/1997 13:00", "01/02/1998 16:00", "01/02/1999 19:00", "01/03/1997 14:00", 
"01/03/1998 17:00", "01/03/1999 19:00"), class = "factor"), value = c(29L, 
31L, 42L, 42L, 52L, 61L, 57L, 55L, 56L)), .Names = c("date", 
"value"), row.names = c(NA, -9L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

如果你能告诉我如何处理这件事,我真的很感激.

r

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

如何从长列表中进行子集化?

我有一个x包含数百万条目的列表.我希望将长度大于1的所有条目放入新列表中z.我怎样才能在R中有效地做到这一点?

我尝试了这段代码,而R只是长时间运行.

z=NULL
for(i in 1:length(x)) {
  if(length(x[[i]])!=1) z=list(z,x[[i]])
}
Run Code Online (Sandbox Code Playgroud)

r list subset

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

R.java奇怪的错误

我无法弄清楚这是哪种错误.关于android和R.java,我们都看到了许多奇怪的东西,但我第一次看到这个.

在R.java中,我有以下代码行:

 public static final class id {
    public static final int 15dp=0x7f060067;
Run Code Online (Sandbox Code Playgroud)

错误说 - 令牌"15d"上的语法错误.删除此令牌.

起初我以为我做了一些错字并在某处写了"15d"而不是"15dp",但我没有.我检查了整个布局xml文件,我正在制作最后一个,因为在制作之后这个错误开始出现了.

我尝试删除R.java并构建应用程序,没有帮助.

有没有人知道这可能是什么?

java android syntax-error r.java-file

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

高性能数字格式

对于我的json编码器,我想打印一组带n小数的数字.两种方式是:

x <- c(1,2,pi)
n <- 2
format(x, digits = n, nsmall = n, trim = TRUE, drop0trailing = TRUE)
formatC(x, digits = n, format = "f", drop0trailing = TRUE)
Run Code Online (Sandbox Code Playgroud)

然而,该drop0trailing参数似乎引入了一个大的(~10x)性能回归:

x <- rnorm(1e6)
system.time(format(x, digits = n, nsmall = n, trim = TRUE))
   user  system elapsed 
  0.584   0.000   0.584
system.time(format(x, digits = n, nsmall = n, trim = TRUE, drop0trailing = TRUE))
   user  system elapsed 
  5.763   0.040   5.799 
Run Code Online (Sandbox Code Playgroud)

是否有另一种方法可以打印带n小数的数字更快?

r

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

如何用NA替换空字符串?

我想将空格(没有值)更改为missing(NA).我假设当R读取数据(在我的情况下是csv)时会自动发生这种情况,但是只有空白所以我试过了:

is.na(data) <- data==""
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

data <- read.table("data.csv", header=TRUE, sep=";", na.strings="")
data[data==""] <- NA
Run Code Online (Sandbox Code Playgroud)

但空白仍然存在.我怎么解决这个问题?

r

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

IfElse 与 OR 运算符

试图将几个变量折叠成二分变量。我想使用 OR 运算符“|”根据原始变量中的条件值分配新值

数据框 c 有带有值的“原因”列:(“已回答”、“无法通话”、“已调用”、“未回答”、“语音邮件”)

# Collapse several responses into one value
c$answered <- if(c$reason == "answered"  | 
                     "couldNotTalk" |
                     "called_back") 
                    {c$answer == "answered"}
              else {c$unanswer == "not answered"}
Run Code Online (Sandbox Code Playgroud)

这不起作用,但以下是(即使效率不高):

"Answered" -> c$answer[c$reason == "answered"] 
"Answered" -> c$answer[c$reason == "couldNotTalk"]
"Answered" -> c$answer[c$reason == "called_back"]
Run Code Online (Sandbox Code Playgroud)

r

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

as.Date 转换返回 NA

我正在使用这些数据。当我想定义as.Date()我得到的变量时NA

这是我正在使用的代码。有人可以建议我做错了什么吗?

dataf <- read.csv("DB.csv")
dataf$Date <- as.Date(dataf$Date, format = "%b-%Y")
str(dataf)
'data.frame':   55 obs. of  9 variables:
 $ Date     : Date, format: NA NA ...
 $ Sydney   : num  85.3 88.2 87 84.4 84.2 84.8 83.2 82.6 81.4 81.8 ...
 $ Melbourne: num  60.7 62.1 60.8 60.9 60.9 62.4 62.5 63.2 63.1 64 ...  
 $ Brisbane : num  64.2 69.4 70.7 71.7 71.2 72 72.6 73.3 73.6 75 ...
 $ Adelaide : num …
Run Code Online (Sandbox Code Playgroud)

r na as.date

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

将1min OHLC数据转换为R中的5min OHLC数据

我目前有OHLC日内数据,我需要转换为5分钟的数据.在R中有没有办法做到这一点?

finance r trading xts

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

标签 统计

r ×9

xts ×2

android ×1

as.date ×1

finance ×1

java ×1

list ×1

na ×1

r.java-file ×1

subset ×1

syntax-error ×1

trading ×1