使用换行符粘贴文本/返回格式化文本

Spr*_*and 11 text text-processing r

我想做一个格式化用于邮寄地址的列,我不能获取换行符/返回载体或<br/>在制作新列时工作.

name = c("John Smith", "Patty Smith", "Sam Smith")
address = c("111 Main St.", "222 Main St.", "555 C Street")
cityState = c("Portland, OR 97212", "Portland, OR 95212", "Portland, OR 99212")
df <- data.frame(name, address, cityState)
Run Code Online (Sandbox Code Playgroud)

我想创建一个格式化地址标签中数据的列:John Smith 111 Main st.波特兰,OR 97212

每个新列:每行后都会有一个返回:所以它总是3行.其他3列中的每一列都有一行.

# example of what I am trying to do... 
paste0(name, "return", address, "return", cityState).  Everything I have tried does not work for making a newline.
Run Code Online (Sandbox Code Playgroud)

csg*_*pie 11

要获得我们使用的新行(或返回)\n.所以

addr = paste(name,  address, cityState, sep="\n")
Run Code Online (Sandbox Code Playgroud)

要查看结果,请使用 cat

> cat(addr[1])
#John Smith
#111 Main St.
#Portland, OR 97212
Run Code Online (Sandbox Code Playgroud)

该功能cat只是打印到屏幕上.


另一个标准字符\t用于制表符空间.


ali*_*ire 7

您需要将其与换行符 ( \n) 分隔符粘贴在一起。从组装它df

addresses <- apply(df, 1, paste, collapse = '\n')
Run Code Online (Sandbox Code Playgroud)

如果你正常打印,它会显示\n字符:

addresses
## [1] "John Smith\n111 Main St.\nPortland, OR 97212" 
## [2] "Patty Smith\n222 Main St.\nPortland, OR 95212"
## [3] "Sam Smith\n555 C Street\nPortland, OR 99212"  
Run Code Online (Sandbox Code Playgroud)

要使用评估的换行符打印cat,还sep = '\n'可以在项目之间插入换行符:

cat(addresses, sep = '\n')
## John Smith
## 111 Main St.
## Portland, OR 97212
## Patty Smith
## 222 Main St.
## Portland, OR 95212
## Sam Smith
## 555 C Street
## Portland, OR 99212
Run Code Online (Sandbox Code Playgroud)