1.test=head(iris),将test的前4列gather,然后还原
rm(list = ls())
library(tidyr)
library(dplyr)
test=head(iris)
![](https://img.haomeiwen.com/i25702203/209d1dbfe709a39e.png)
x= gather(test[1:4],
key = var,
value = num)
![](https://img.haomeiwen.com/i25702203/9280e474000dc158.png)
因为x中红框内有重复值,所以将长型数据还原为宽型数据时会报错
test_re <- spread(data = x,
key = var,
value = num)
![](https://img.haomeiwen.com/i25702203/16ec2b78c5decc78.png)
解决办法如下:
group_by(x,var)
![](https://img.haomeiwen.com/i25702203/0cd7b1c81d7d0392.png)
x2 = x %>%
group_by(var) %>%
mutate(id=1:n())
![](https://img.haomeiwen.com/i25702203/8c03ed3922041e2b.png)
x2 = x %>%
group_by(var) %>%
mutate(id=1:n()) %>%
spread(var,num)
![](https://img.haomeiwen.com/i25702203/9f878c65ae2b38b9.png)
2.将第三列分成两列(以小数点为分隔符),然后合并
![](https://img.haomeiwen.com/i25702203/7859ec192acefb89.png)
x=separate(test,Petal.Length,into = c('a','b'),sep = ".")
![](https://img.haomeiwen.com/i25702203/562a52482f48e61b.png)
![](https://img.haomeiwen.com/i25702203/c06dc2311b0c0b15.png)
解决办法如下:
#方法一
x=separate(test,Petal.Length,into = c('a','b'),sep = "[.]")
#方法二
x=separate(test,Petal.Length,into = c('a','b'),sep = "\\.")
![](https://img.haomeiwen.com/i25702203/ac340905e502094a.png)
将上面分割的数据再合并到一起
x_re=unite(x,"abcde",a,b,sep = ",")
![](https://img.haomeiwen.com/i25702203/717962cb45939705.png)
但是合并后的abcde向量变成了字符型向量,而不是数值型向量
![](https://img.haomeiwen.com/i25702203/6fe47390c76eaffb.png)
我们来看一下原数据
![](https://img.haomeiwen.com/i25702203/4afdb4f952aaad18.png)
解决办法:
x_re$abcde=as.numeric(x_re$abcde)
运行后又出现报错
![](https://img.haomeiwen.com/i25702203/1e21ad964db69519.png)
![](https://img.haomeiwen.com/i25702203/0cf739a291aead11.png)
现在我们将test数据里第二列拆分,重点关注红框内数值
![](https://img.haomeiwen.com/i25702203/bf3e47d3ce5585cc.png)
![](https://img.haomeiwen.com/i25702203/bd8ca32bdb2fc674.png)
![](https://img.haomeiwen.com/i25702203/b1b7dfafc161c68d.png)
![](https://img.haomeiwen.com/i25702203/abc223c023e8444c.png)
解决该问题办法:
方法一
x$b<-replace_na(x$b,0) #将NA替换为0
方法二
x$b[is.na(x$b)]=0
方法三:管道
x=separate(test,Sepal.Width,into = c('a','b'),sep = "[.]") %>%
tidyr::replace_na(list(b=0))
![](https://img.haomeiwen.com/i25702203/90b7d24b3c8fed31.png)
3.加载test1.Rdata,将deg数据框按照pvalue从小到大排序
![](https://img.haomeiwen.com/i25702203/9380e1bee00f2878.png)
![](https://img.haomeiwen.com/i25702203/94ad6f8d57418433.png)
![](https://img.haomeiwen.com/i25702203/6bef71573b5d2024.png)
load('test1.Rdata')
x=arrange(deg,P.Value);head(x)
![](https://img.haomeiwen.com/i25702203/db8940da7530b48f.png)
4. 将两个数据框按照probe_id列连接在一起
x=merge(deg,ids,by = "probe_id")
x2=inner_join(deg,ids,by = "probe_id")
![](https://img.haomeiwen.com/i25702203/a76dd4b3f1e76555.png)
网友评论