首页 > 解决方案 > “二元运算符的非数字参数”R中的错误

问题描述

您好,我是 R 新手,可以帮助我。

错误消息“head(T[rowss, (i + 1)]) 中的错误 - head(T[rowss, i]):二元运算符的非数字参数”

代码如下

library("xlsx")  #import library
T <- read_excel("D:/Education/UOR Lecture/Project/4/NEW.xlsx")  #read xlsx file
View(T)
fun <- function(T,rowss) {
rows <- nrow(T)
columns <- ncol(T)
t <- 3
H <- 15.8
last <- 0
for (i in 3:columns-1){
k <- (head(T[rowss,(i+1)])-head(T[rowss,i]))/(head(T[rowss,(i+1)])*t*(H-head(T[rowss,(i+1)])))
last <- k+last
}
fun <- last/columns
return(fun)
}

T 是从 excel 表中读取的表格,我还使用类函数来确保所有都是数字并且所有都是数字期望 T 并使用类函数进行 T 显示class(T) [1] "tbl_df" "tbl" "data.frame"

请帮忙

标签: r

解决方案


当您使用非数字变量进行加法、除法或类似的数学运算符时,会发生此错误。在您的情况下,似乎head(T[rowss, (i + 1)])orhead(T[rowss, i])不是数字。T使用例如查看数据框str(T)以查看哪些变量不是数字的(例如那些是character变量)。


推荐阅读