/ / добавяне на колона в R към рамка от данни [дубликат] - r, рамка от данни, категория

добавяне на колона в R към dataframe [duplicate] - r, dataframe, category

Как да добавя колона към рамка от данни в R въз основа на стойностите в друга колона на рамка от данни?

Например, ако имам една колона като x $ n =[1,2,3,4,5,6] (стойностите в други колони нямат точно значение. И аз искам друга колона като колона "категория", която присвоява стойност 0, ако x $ n <2, 1, ако x $ n е между 3 и 4 и 3, ако x $ n> 4. Така че съответната ми колона ще бъде х $ категория = [0,0,1,1,2,2]

Отговори:

0 за отговор № 1

Ако имате:

x = data.frame(n = 1:6)

и имат само три категории, тогава най-лесното решение ще бъде:

x$category = 0
x$category[x$n > 2] = 1
x$category[x$n > 4] = 2

Ако искате да сте наистина умни, тогава можете да направите:

x$category = floor(x$n/2.5)

Най- floor функция` просто се закръгля надолу.


0 за отговор № 2

Използвайки cut:

within(x, category <- as.integer(cut(n,c(-Inf,2,4,Inf)))-1)

Използвайки ifelse:

within(x, category <- ifelse(n>4, 2, ifelse(n>2, 1, 0)))

Използване на неявна булева -> цяло число принуда ::

within(x, category <- (n>2) + (n>4))