-1
我有以下数据,该数据是这样的:如何遍历包含NA值的列? [R
2010-11-04 to 2010-11-10 2010-11-11 to 2010-11-17 2010-11-18 to 2010-11-24 2010-11-26 to 2010-12-02
[1,] "Stock194" "Stock194" NA "Stock241"
[2,] "Stock26" "Stock217" NA "Stock440"
[3,] "Stock314" "Stock241" NA "Stock485"
[4,] "Stock334" "Stock321" NA "Stock57"
[5,] "Stock453" "Stock334" NA "Stock77"
[6,] "Stock62" "Stock39" NA NA
[7,] NA "Stock391" NA NA
[8,] NA "Stock430" NA NA
[9,] NA "Stock444" NA NA
[10,] NA "Stock453" NA NA
[11,] NA "Stock485" NA NA
[12,] NA "Stock62" NA NA
[13,] NA "Stock76" NA NA
[14,] NA NA NA NA
[15,] NA NA NA NA
[16,] NA NA NA NA
[17,] NA NA NA NA
[18,] NA NA NA NA
[19,] NA NA NA NA
[20,] NA NA NA NA
[21,] NA NA NA NA
[22,] NA NA NA NA
2010-12-03 to 2010-12-09
[1,] "Stock12"
[2,] "Stock217"
[3,] "Stock321"
[4,] "Stock334"
[5,] "Stock39"
[6,] "Stock391"
[7,] "Stock453"
[8,] "Stock464"
[9,] "Stock485"
[10,] "Stock62"
[11,] "Stock76"
[12,] NA
[13,] NA
[14,] NA
[15,] NA
[16,] NA
[17,] NA
[18,] NA
[19,] NA
[20,] NA
[21,] NA
[22,] NA
。
> dput(a)
structure(c("Stock194", "Stock26", "Stock314", "Stock334", "Stock453",
"Stock62", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, "Stock194", "Stock217", "Stock241", "Stock321", "Stock334",
"Stock39", "Stock391", "Stock430", "Stock444", "Stock453", "Stock485",
"Stock62", "Stock76", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, "Stock241", "Stock440", "Stock485", "Stock57",
"Stock77", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, "Stock12", "Stock217", "Stock321", "Stock334",
"Stock39", "Stock391", "Stock453", "Stock464", "Stock485", "Stock62",
"Stock76", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Dim = c(22L,
5L), .Dimnames = list(NULL, c("2010-11-04 to 2010-11-10", "2010-11-11 to 2010-11-17",
"2010-11-18 to 2010-11-24", "2010-11-26 to 2010-12-02", "2010-12-03 to 2010-12-09"
)))
>
我也有一个环,看起来像这样:
for (i in names(results2)) {
input <- i
# other steps and calculations
}
我需要的循环做的是例如在第一步抢整列行1到n,放入输入 - 包括NA值。
问题在于,由于某些原因,名称(results2)未读取该列。我认为这是因为NA值在那里,但我不确定。
你的问题不是很清楚。如果你问我,你的主要问题是错误的列名。我会检查'make.names'函数。 –
该函数没有用于数据帧的'name()'。对于像你这样的矩阵,试试'colnames' –
我推荐'(我在seq(ncol(a))){iname < - colnames(a)[i]; icol < - a [,i]; ...}'。循环名称对于矩阵来说是一种坏的/危险的做法,因为没有什么能够阻止名称重复。例如,矩阵(1:4,2,dimnames = list(c(1,1),c(2,2)))'。作为一般规则,迭代迭代器,而不是迭代值。 – Frank