创建一个新的var,其值应为r中其他两个变量之间的平方差

时间:2019-12-16 07:07:24

标签: r

创建一个新变量,其值应为imdbrating和imdbvotes之差的平方

imdbRating = (as.numeric (IMDB_data$imdbRating))
imdbVotes =(as.numeric (IMDB_data$imdbVotes))
IMDB_data$z = with(IMDB_data, (imdbRating-imdbVotes)^2)'

警告消息:

  

在Ops.factor(imdbRating,imdbVotes)中:“-”对因子没有意义

即使将变量从因数转换为数字后,我仍然收到此错误

2 个答案:

答案 0 :(得分:0)

您创建了两个不在数据框IMDB_data中的新变量。试试:

IMDB_data$imdbRating <- as.numeric (IMDB_data$imdbRating)
IMDB_data$imdbVotes <- as.numeric (IMDB_data$imdbVotes)
IMDB_data$z <- with(IMDB_data, (imdbRating - imdbVotes)^2)

答案 1 :(得分:0)

由于未使用变量imdbRatingimdbVotes(您仍在使用IMDB_data$imdbRatingIMDB_data$imdbVotes这两个因素),因此遇到了该错误。

要解决,您应该像下面这样

imdbRating = (as.numeric (IMDB_data$imdbRating))
imdbVotes =(as.numeric (IMDB_data$imdbVotes))
IMDB_data$z = (imdbRating-imdbVotes)^2

或仅是单行命令

IMDB_data = within(IMDB_data, z <- (as.numeric(imdbRating)-as.numeric(imdbVotes))^2)