0
点赞
收藏
分享

微信扫一扫

R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\\呢?

孟祥忠诗歌 2022-03-18 阅读 68


使用R语言的ggplot2作图,使用​​geom_text()​​函数添加文本,因为文本比较长,所以想在文本中间添加一个换行符,这样添加文本后就可以换行显示


R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\呢?_r语言 image.png

这个是数据


但是使用R语言读取进来的时候为什么会多一个斜杠呢?


R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\呢?_r语言_02 image.png

我是win10系统 R语言是4.0.3

我之前好像也这样处理过数据,当时好像没有遇到过这个问题呀

暂时不知道问题出在哪了

查了还没有找到资料

linux系统也有这个问题

R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\呢?_r语言_03 image.png


现在想到的办法是只能把这一列数据拆分成两列,读入以后再使用换行符把两列数据粘贴成一列


read.table("abcd.csv",sep=",",header=T) -> pra
pra

pra$label1<-paste(pra$x,pra$y,sep="\n")

ggplot()+
geom_text(data=pra,aes(x=x,y=y,label=label1))

R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\呢?_r语言_04 image.png

这样是行得通的

还有一个办法是用空格替换换行符

然后使用​​stringr​​​这个包里的​​str_wrap()​​函数

pra<-read.csv("abcd.csv")
pra

ggplot()+
geom_col(data=pra,aes(x=x,y=y,fill=x))+
geom_text(data=pra,aes(x=x,
y=y+1,
label=stringr::str_wrap(label1,width=1)))

R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\呢?_r语言_05 image.png

还有一个知识点是如果坐标轴文本过长

也可以使用​​stringr​​​这个包里的​​str_wrap()​​函数

df<-data.frame(x=c("AAAAAAA  AAAAA AAA",
"BBBBBBB BBBB BBB",
"DDDDDDD DDD DDDD"),
y=5)
ggplot()+
geom_col(data=df,aes(x=x,y=y,fill=x))+
#coord_flip()+
scale_x_discrete(labels=function(x)stringr::str_wrap(x,width = 1))+
geom_text(data=df,aes(x=x,y=y+0.5,label=str_wrap(x,width=1)))+
scale_y_continuous(expand = c(0,0),limits = c(0,7))

R语言read.table()函数读取文件如果有换行符\n,一个\为什么会变成两个\呢?_数据_06 image.png

这里又遇到了另外一个问题是图例没有换行,又不知道如何解决了!

欢迎大家关注我的公众号

小明的数据分析笔记本


小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!


举报

相关推荐

0 条评论