省略R中的某些数据以维护整体数据完整性

时间:2015-12-04 23:45:32

标签: r iteration nan

我有一个函数,在一个列矩阵中为100个不同的数据帧中的每一个返回50个数据值。然而,由于环境,有时该函数在数据帧中的50个值中的一个或多个中返回“NaN”。这会扰乱数据,因为具有一个或多个NaN的数据帧现在被认为具有49或48列。

          df1        df2
         112.4563 112.4563
         110.1210 110.1210
         109.2143 109.2143
         NaN      108.1806 <- now uneven and can not perform iterations
         107.3700 107.3700

如何在迭代这些100个50行划分的数据帧时“告知”我的计算机/后续命令,以“忽略”NaN值,使100中的每一个仍然能够具有50个值且始终可迭代?或者它甚至可以有一个不同的迭代范围 - (1:1(47-50)。那么计算机是否会原谅行数的变化? 这也与图表有关。

1 个答案:

答案 0 :(得分:0)

正如其他人所说,它也可能取决于您想要对NaN值做什么。但是,在回答一个交互范围时,您可以执行以下操作。我将使用dataframe mtcars作为示例。

df = mtcars
length(df$mpg)
length(rownames(df))
length(colnames(df))

如果需要迭代数据框中的总行数,可以使用length(rownames(df))。如果需要迭代列数,可以使用length(colnames(df))。

在for循环中,您将执行以下操作:

for (i in length(rownames(df)){
# iterative code
}

这将迭代给定数据框中的总行数。