全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
16031 11
2014-05-04
数据集是一个基因型数据。每一行都有3中基因型两个纯合子,一个杂合子。如AA、AG、GG或者是CC、CG、GG我想把AA、CC替换为0,AG、CG替换为1、GG替换为2。每一行观测都是只有三种可能即两个纯合子、一个杂合子,纯合子的类型不同。改如何写程序呢?多谢指教!数据结构如图所示

附件列表
34TBAWG_(K_NOR~LXH7OBVF.jpg

原图尺寸 165.07 KB

34TBAWG_(K_NOR~LXH7OBVF.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-5-4 01:55:52
x <- data.frame(v1 = c("AG", "AA", "GG"), v2 = c("CC", "CG", "AG"), v3 = c("GG", "AG", "AA"))
x <- as.matrix(x)
x[x %in% c("AA", "CC")] <- 0
x[x %in% c("AG", "CG")] <- 1
x[x %in% c("GG")] <- 2
class(x) <- "numeric"
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-4 10:08:43
qoiqpwqr 发表于 2014-5-4 01:55
x
谢谢大神!很给力啊,一下就出来了。但是还有个问题,因为AA与CC要替换的值也不同啊,该怎么修改呢?因为杂合的类型一共有AC、AG、AT、CG四种,他们的赋值都是1。就是相同两个会弄混,数据集的每一行都只有3种观测如AA、AC、CC,就是要把AA、CC也赋不同值。每一行的观测值都只有AA、AC、CC和AA、AG、GG以及CC、CG、GG或者是AA、AT、TT。每一行的纯合子要分开即0或2,可是直接赋值的话会有交叉AA、AC、CC和AA、AG、GG以及CC、CG、GG这三种中的纯合子分不开,AA是0,CC就只能是2了,CC是2又跟GG一样了。谢谢指导!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-4 12:11:01
进行式 发表于 2014-5-4 10:08
谢谢大神!很给力啊,一下就出来了。但是还有个问题,因为AA与CC要替换的值也不同啊,该怎么修改呢?因为 ...
我不懂DNA,所以没看懂。但是不管怎么说,用类似

x[x %in% c("AG")] <- 1

这样的语句来改就行了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-4 15:14:09
qoiqpwqr 发表于 2014-5-4 12:11
我不懂DNA,所以没看懂。但是不管怎么说,用类似

x[x %in% c("AG")]
恩,好的,我自己再摸索下。还有个小问题想向您请教,在R中如何根据观测值保留变量呢?就是几列变量中都含某一特定的观测值,如何将含改观测值的变量提取出来放在一个新的数据集里呢?谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-4 21:28:09
进行式 发表于 2014-5-4 15:14
恩,好的,我自己再摸索下。还有个小问题想向您请教,在R中如何根据观测值保留变量呢?就是几列变量中都含 ...
举个例子?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群