我遇到了一个特殊的问题。我有一个数据框,我需要分别用0和1替换所有3和5。
所以我这样做:
labels = ifelse(labels[1,] == 3, 1, 0)
操作前后的行数为1,操作前后的列数为11552。
现在我把它传递给下面给出的函数:
train <- function(data, labels) {
#browser()
shuffle <- sample(ncol(labels))
labels <- labels[,shuffle]
data <- data[,shuffle]
for(i in seq(1:ncol(data))) {
## .. something here ..
y = labels[1,i] #LINE THAT THROWS ERROR -LINE 1
## ..something ..
}
return(theta)
}
标记的LINE 1行引发错误说明:
Error in labels[1, i] : incorrect number of dimensions
在上面的函数中,data
和labels
具有相同的列数。造成这种错误的原因是什么?
答案 0 :(得分:1)
您的第一个语句将labels
转换为向量,因此您无法以二维方式访问它。只需使用labels[i]
。