我想使用字符向量对象轻松地从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) 我正在运行一个带有两个矩阵的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)
但它太慢了.在运行时间方面,如何使循环更有效?
亲爱的所有我正在处理一个有几年数据的文件,我正在尝试创建一个从日期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)
如果你能告诉我如何处理这件事,我真的很感激.
我有一个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) 我无法弄清楚这是哪种错误.关于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并构建应用程序,没有帮助.
有没有人知道这可能是什么?
对于我的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小数的数字更快?
我想将空格(没有值)更改为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)
但空白仍然存在.我怎么解决这个问题?
试图将几个变量折叠成二分变量。我想使用 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) 我正在使用这些数据。当我想定义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) 我目前有OHLC日内数据,我需要转换为5分钟的数据.在R中有没有办法做到这一点?