【发布时间】:2013-03-13 13:01:16
【问题描述】:
我无法理解这个 R 代码有什么问题,我有几行和一个带有测量值或 NA 的列,我基本上想在这几个列中查找每行的最小值和最大值:
require(plyr)
census <- read.csv("sps_census.csv")
info <- read.csv("sps_info.csv")
for (i in 1: nrow(census)) {
trans <- census[i,c("dbh1","dbh2","dbh3","dbh4","dbh5","dbh6","dbh7","dbh8", "dbh9")]
index.1 <- which (trans != "NA") #some NAs are in the data
census$min.dbh <- min(trans[1,index.1])
census$min.dbh.index <- min(index.1)
census$max.dbh <- max(trans[1,index.1])
census$max.dbh.index <- max(index.1)
}
【问题讨论】:
-
如果您用您正在使用的语言名称标记您的问题,您会更容易获得答案。
-
您收到哪条错误消息?
-
我认为他得到了错误的结果。
-
据我所知,我得到了一个“永恒的循环”。
-
你可以直接使用
min(dataitem,na.rm=TRUE),省去很多麻烦。
标签: r loops if-statement indexing