Re: [問題] 用R數據條件判斷分類
我的想法是用簡單的條件式去判斷就好,不用寫迴圈。
下面只是把你的目的寫成條件式,再加一個保險,避免丟進去的物件不是兩個元素:
####
multiple_judges <- function(x) {
if (length(x) != 2) {stop("The input should have 2 elements.")}
# 如果丟進去的東西不是兩個值,程式會警告並停止執行
else {
if (x[1] >= 1 & x[1] <= 3 & x[2] == "M1") {return("K1")}
# 甲介於1~3間,且乙= M1得到K1
else if (x[1] >= 4 & x[1] <= 6 & x[2] == "M2") {return("K2")}
# 甲介於4~6間,且乙= M2得到K2
else if (x[1] >= 7 & x[1] <= 9 & x[2] == "M3") {return("K3")}
# 甲介於7~9間,且乙= M3得到K3
else {return(NULL)}
}
}
multiple_judges(X1)
multiple_judges(X2)
multiple_judges(X3)
####
應該可以得到你想要的結果~
※ 引述《hizerg (路過的人)》之銘言:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
:
: [軟體熟悉度]:
:
: 入門(寫過其他程式,只是對語法不熟悉)
:
: [問題敘述]:
: 請簡略描述你所要做的事情,或是這個程式的目的
: 多組數值(甲、乙)
: 甲介於1~3間,且乙= M1得到K1
: 甲介於4~6間,且乙= M2得到K2
: 甲介於7~9間,且乙= M3得到K3
: 1.產生資料
: A <- c(1, 3, "M1", "K1")
: B <- c(4, 6, "M2", "K2")
: C <- c(7, 9, "M3", "K3")
: X1 <- c(5, "M1")
: X2 <- c(4, "M2")
: X3 <- c(8, "M3")
: 當X1資料丟進去判斷,得到K1
: 當X2資料丟進去判斷,得到null
: 當X3資料丟進去判斷,得到K3
: 這個用迴圈寫會比較好?(完全沒頭緒)
: 謝謝各位前輩
:
: [環境敘述]:
:
: R version 3.3.3 (2017-03-06)
: Windows 7 x64 Service Pack 1
:
: [關鍵字]:
:
: R語言多重數據判斷分類
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.139.194
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1489669988.A.D66.html
※ 編輯: clsmbstu (36.225.139.194), 03/16/2017 21:16:27
推
03/16 22:05, , 1F
03/16 22:05, 1F
→
03/16 22:05, , 2F
03/16 22:05, 2F
→
03/16 22:06, , 3F
03/16 22:06, 3F
推
03/16 22:08, , 4F
03/16 22:08, 4F
→
03/16 22:38, , 5F
03/16 22:38, 5F
→
03/16 22:39, , 6F
03/16 22:39, 6F
→
03/16 22:39, , 7F
03/16 22:39, 7F
→
03/16 22:39, , 8F
03/16 22:39, 8F
→
03/16 23:14, , 9F
03/16 23:14, 9F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
1
2
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章