【R每日一贴】R数据框那些事(三)?
测试开头
测试结尾
R数据框那些事,继续说。
事情七:移除数据框NA值。使用na.omit()函数移除包含NA的行,举例说明如下。
> df1 <- data.frame(c1=c(1,2,3), c2=c(NA, 1, 360))
> df1
c1 c2
1 1 NA
2 2 1
3 3 360
> na.omit(df1)
c1 c2
2 2 1
3 3 360
事情八:移除数据框列。通过设置subset()函数中的select参数基于列名来移除数据框的列。举例说明如下。
> df1 <- data.frame(id=c(1,2,3), sex=c("M","F","M"), grade=c("A","B","C"))
> df1
id sex grade
1 1 M A
2 2 F B
3 3 M C
> subset(df1, select=-id)
sex grade
1 M A
2 F B
3 M C
事情九:合并两个数据框。使用merge()函数,基于公共列把数据框合并为一个新的数据框。举例说明如下。
> born <- data.frame(name=c("Moe", "Larry", "Curly"), year.born=c(1887, 1902, 1903))
> born
name year.born
1 Moe 1887
2 Larry 1902
3 Curly 1903
> died <- data.frame(name=c("Curly", "Moe"), year.died=c(1952, 1975))
> died
name year.died
1 Curly 1952
2 Moe 1975
> merge(born, died, "name")
name year.born year.died
1 Curly 1903 1952
2 Moe 1887 1975
或者
使用R中cbind()函数并排合并两个数据框的列或是rbind()函数堆叠两个数据框的行。例如
> df1 <- data.frame(c1=c(1,2), c2=c("a", "b"))
> df1
c1 c2
1 1 a
2 2 b
> df2 <- data.frame(c3=c(1,2), c4=c("a", "b"))
> df2
c3 c4
1 1 a
2 2 b
> cbind(df1, df2)
c1 c2 c3 c4
1 1 a 1 a
2 2 b 2 b
> df3 <- data.frame(c1=c(3,4), c2=c("c", "d"))
> df3
c1 c2
1 3 c
2 4 d
> rbind(df1, df3)
c1 c2
1 1 a
2 2 b
3 3 c
4 4 d
【想一想】
1 如何移除数据框中的列?
2 如何合并数据框?
【做一做】
1 实战基于列名移除数据框中的列?
2 实战不同的方法以合并数据框?
【温馨话语】
三日不读书,便觉面目可憎,语言无味。
我是陆勤,微信号:wangluqing360,你们在R路上的朋友,一起欣赏R路上的风景。PPV课R语言群:342699237,欢迎朋友们加入,共建最好的R社区。
赠人玫瑰,手有余香。若是觉得此文有用,欢迎分享给更多的人,让更多的人受用。
你若安好,便是晴天。若是朋友们有什么想法或建议,欢迎给我留言或者私信于我。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!