【发布时间】:2019-02-07 20:36:03
【问题描述】:
我已经找到了如何以一种简单的方式改变一个因素的水平。我的问题是我有三列(因素),它们有一些共同点。我需要确保我可以改变——一般来说,因为明年这个因素的水平将有一个不同的名称——相同“新”水平的因素之间的水平相同。 示例:
> data<-read.table(head=T,"F2_SULMaturação_Conjunta.txt")
> data[25:35,1:5]
OBS POP IDPOP IDMOM IDDAD
25 25 MUR3 MUR3 BMXPotênciaRR M9056RR
26 26 MUR9 MUR9 BMXPotênciaRR M8221RR
27 27 MUR18 MUR18 BMXPotênciaRR P98N71
28 28 MUR29 MUR29 BMXPotênciaRR CONQUISTA
29 29 GENIT BMXPotênciaRR 0 0
30 30 GENIT NA5909RR 0 0
31 31 MUR25 MUR25 DM5958IPRO CONQUISTA
32 32 MUR27 MUR27 TMG7062IPRO CONQUISTA
33 33 GENIT DM5958IPRO 0 0
34 34 GENIT P98N71 0 0
35 35 MUR1 MUR1 BMXApoloRR M9056RR
> levels(data$IDDAD)
[1] "0" "CONQUISTA" "M8221RR" "M9056RR" "P98N71"
> levels(data$IDMOM)
[1] "0" "BMXApoloRR" "BMXPotênciaRR" "DM5958IPRO"
"DM6563IPRO"
[6] "NA5909RR" "TMG7062IPRO"
> levels(data$IDPOP)
[1] "BMXApoloRR" "BMXPotênciaRR" "CONQUISTA" "DM5958IPRO"
"DM6563IPRO"
[6] "M8221RR" "M9056RR" "MUR1" "MUR13" "MUR14"
[11] "MUR15" "MUR16" "MUR17" "MUR18" "MUR2"
[16] "MUR24" "MUR25" "MUR26" "MUR27" "MUR28"
[21] "MUR29" "MUR3" "MUR7" "MUR8" "MUR9"
[26] "NA5909RR" "P98N71" "TMG7062IPRO"
请注意,“IDPOP”、“IDMOM”和“IDDAD”的某些级别是相同的,即:“BMXPotênciaRR”。 我正在寻找一个代码,也许它允许我在同一行中设置两个具有各自“新级别”的向量,并批量进行此更改。 示例:
> a<-c("BMXPotênciaRR","DM5958IPRO", "TMG7062IPRO")
> b<-c("1","2","3")
> a
[1] "BMXPotênciaRR" "DM5958IPRO" "TMG7062IPRO"
> b
[1] "1" "2" "3"
由于我必须以通用方式编写代码,因此我不打算编写关卡,而是通过“levels(...)”捕获它们。
【问题讨论】: