我有一个函数,在一个列矩阵中为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)。那么计算机是否会原谅行数的变化? 这也与图表有关。
答案 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
}
这将迭代给定数据框中的总行数。