Re: [問題] 取絕對值找最大但要得知原有值
※ 引述《girl5566 (5566520)》之銘言:
: 文章分類提示:
: - 問題: 當你想要問問題時,請使用這個類別
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 想請問result 那欄為取絕對值後的最大值之原始值 result要如何取得?
: X Y MAX_ABS RESULT
: -3 5 5 5
: -5 3 5 -5
: [程式範例]:
: data <- data.frame(x = c(-3,-5), y = c(5,3))
: max_abs <- apply(abs(data),1,max)
: data <- cbind(data,max_abs)
: [環境敘述]:
: R3.1.2 win7 64bit
: [關鍵字]:
1. dplyr (只有兩行)
library(dplyr)
data_df = data.frame(x = c(-3,-5), y = c(5,3))
data_df %>% mutate(result = ifelse(abs(x) > abs(y), x, y))
2. apply (可多行)
data_mat = matrix(c(-3,-5,5,3), 2)
loc_max = apply(abs(data_mat), 1, which.max)
result = data_mat[cbind(1:nrow(data_mat), loc_max)]
--
R資料整理套件系列文:
magrittr #1LhSWhpH (R_Language) http://tinyurl.com/1LhSWhpH
data.table #1LhW7Tvj (R_Language) http://tinyurl.com/1LhW7Tvj
dplyr(上) #1LhpJCfB (R_Language) http://tinyurl.com/1LhpJCfB
dplyr(下) #1Lhw8b-s (R_Language)
tidyr #1Liqls1R (R_Language) http://tinyurl.com/1Liqls1R
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.74.87
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1451523208.A.8DA.html
→
12/31 10:10, , 1F
12/31 10:10, 1F
請問你在說什麼?
※ 編輯: celestialgod (140.109.74.87), 12/31/2015 10:40:04
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章