У меня есть фрейм данных: dframe <- structure(list(label = c("col1", "aim"), text1 = c(0, 0.00900990099009901), rwr = c(0, 0), ff = c(0, 0.0120792079207921), ff = c(0, 0.0204950495049505), dfdv = c(0, 0), wef = c(0, 0), cv = c(0, 0.588019801980198), vvf = c(0, 0), dsf = c(0, 0.0134653465346535), dfd = c(0, 0.0134653465346535), dfdsc = c(0, 0.0226732673267327), cxvd = c(0, 0.0226732673267327), icu = c(-0.4290625, 0.361831683168317), vcx = c(-0.0684375, 0.105693069306931), asd = c(0, 0.0864851485148515), dsa = c(-0.480625, 0.676287128712871), sd = c(0, 0), dfde = c(0, 0), dcfvdc = c(0, 0), ccdd = c(0, 0), fvcdc = c(0, 0.0169306930693069), vdf = c(0, 0), vdf = c(0, 0), fdv = c(0, 0), vdfv = c(0, 0), fvvr = c(-0.333125, 1.41455445544554), fev = c(0, 0), fverf = c(0, 0), vfd = c(0, 0.0361881188118812), fev = c(0, 0), wtfpl = c(0, 0), erfe = c(0, 0)), row.names = c(NA, -2L), class = "data.frame")
И с помощью этого я хочу сравнить значения в каждом столбце и сохранить большее значение, т.е. -0,4 и 0,3, сохранить -0,4 (абсолютное значение), но в некоторых случаях этоне работает.Почему это происходит?
cbind(dframe[, 1], dframe[, -1] * apply(dframe[, -1], 1, function(x) x == max(x)))
Ожидаемый результат:
dframe_ex <- structure(list(label = c("col1", "aim"), text1 = c(0, 0.00900990099009901), rwr = c(0, 0), ff = c(0, 0.0120792079207921), ff = c(0, 0.0204950495049505), dfdv = c(0, 0), wef = c(0, 0), cv = c(0, 0.588019801980198), vvf = c(0, 0), dsf = c(0, 0.0134653465346535), dfd = c(0, 0.0134653465346535), dfdsc = c(0, 0.0226732673267327), cxvd = c(0, 0.0226732673267327), icu = c(-0.4290625, 0), vcx = c(0, 0.105693069306931), asd = c(0, 0.0864851485148515), dsa = c(0, 0.676287128712871), sd = c(0, 0), dfde = c(0, 0), dcfvdc = c(0, 0), ccdd = c(0, 0), fvcdc = c(0, 0.0169306930693069), vdf = c(0, 0), vdf = c(0, 0), fdv = c(0, 0), vdfv = c(0, 0), fvvr = c(0, 1.41455445544554), fev = c(0, 0), fverf = c(0, 0), vfd = c(0, 0.0361881188118812), fev = c(0, 0), wtfpl = c(0, 0), erfe = c(0, 0)), row.names = c(NA, -2L), class = "data.frame")
> dframe_ex
label text1 rwr ff ff dfdv wef cv vvf dsf dfd dfdsc
1 col1 0.00000000000 0 0.0000000000 0.0000000000 0 0 0.000000000 0 0.0000000000 0.0000000000 0.0000000000
2 aim 0.00900990099 0 0.0120792079 0.0204950495 0 0 0.588019802 0 0.0134653465 0.0134653465 0.0226732673
cxvd icu vcx asd dsa sd dfde dcfvdc ccdd fvcdc vdf vdf fdv vdfv fvvr
1 0.0000000000 -0.4290625 0.000000000 0.0000000000 0.000000000 0 0 0 0 0.0000000000 0 0 0 0 0.00000000
2 0.0226732673 0.0000000 0.105693069 0.0864851485 0.676287129 0 0 0 0 0.0169306931 0 0 0 0 1.41455446
fev fverf vfd fev wtfpl erfe
1 0 0 0.0000000000 0 0 0
2 0 0 0.0361881188 0 0 0