师姐给了我一个数据,各地昆虫的某种评价指标,每个地方有94个数据,要比较一下其中几个地区之间有无差别。就把他当作一个学习的数据来做,不必理会背后的意义。
原始数据大概是这样,19个地区,94行(当然我已经篡改过),在生信星球公众号回复‘1994’可以获得示例数据,将它放到你的工作目录下,然后来练习。
啊,问题就是要处理中文。给我的地名就是文字,用字符串分割,改上列名。
rm(list = ls())
options(stringsAsFactors = F)
x=read.csv("test.csv");head(x)
zz="云南普洱 江苏泰州 江苏扬州 河北沧州 安徽鞍山 陕西杨凌 湖北武汉 江西南昌 山东夏津 山东烟台 山东东营 河南新乡 河北廊坊 山西原平 内蒙古 辽宁沈阳 吉林长春 黑龙江哈尔滨 新疆石河子"
library(stringr)
col=str_split(zz,"\t",simplify = T)
colnames(x)=col
library(tidyr)
tid = gather(x,key = '地名',value='δ13C(‰)')
tid1=tid[tid$`地名` %in% c("云南普洱","江苏泰州","江苏扬州","河北沧州","安徽鞍山","河北廊坊"),]
然后找了一个简单又好看的图
library(ggstatsplot)
ggbetweenstats(data = tid1,
x = `地名`,
y = `δ13C(‰)`,
xlab = "地名")
中文的列名和奇怪的字符,用``给装起来就能用咯。
网友评论