расчет данных - основной минус расчет - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть датафрейм, как показано ниже:

student  Marks_1   Marks_2
    A1      25      28
    B1      22      24
    C1      18      25

Столбец A - студент, Столбец B - Marks_1, Столбец C - Marks_2, я хочу выполнить базовый расчет, чтобы получить оценку согласно приведенному нижеформула.

A1_Score =(C2-B2)^2

Получение сообщения об ошибке:

"-" не имеет значения для факторов

ожидаемый результат:

A1_score    9
B1_score    4
C1_score   49

Ответы [ 3 ]

0 голосов
/ 18 сентября 2018

Попробуйте этот код, чтобы добавить желаемый дополнительный столбец:

df$score=(df$Marks_1-df$Marks_2)^2
> df
  student Marks_1 Marks_2 score
1      A1      25      28        9
2      B1      22      24        4
3      C1      18      25       49

Входной набор данных:

df<-data.frame(student=c("A1","B1","C1"),
               Marks_1=c(25,22,18),
               Marks_2=c(28,24,25))
0 голосов
/ 18 сентября 2018

Использование data.table

df <- read.table(stringsAsFactors = TRUE,
  header = TRUE, text = 'student  Marks_1   Marks_2
A1      25      28
B1      22      24
C1      18      25')


library(data.table)

setDT(df)[,score:= (Marks_2-Marks_1)^2]
df

   student Marks_1 Marks_2 score
1:      A1      25      28     9
2:      B1      22      24     4
3:      C1      18      25    49
0 голосов
/ 18 сентября 2018

Попробуйте это:

Ваш набор данных:

df=read.table(text="student  Marks_1   Marks_2
A1      25      28
          B1      22      24
          C1      18      25",header=T)
# Create new column based on your formula
df$score=(df$Marks_2-df$Marks_1)^2 

Вывод:

    student Marks_1 Marks_2 score
1      A1      25      28     9
2      B1      22      24     4
3      C1      18      25    49
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...