R - 如何将矢量连接成字符串?

lau*_*kok 3 r vector

我有这样的数据,例如,

>rows
  ID  NAME AGE    ADDRESS SALARY
1  1  Paul  32 California  20000
2  2 Allen  25      Texas  15000
3  3 Teddy  23     Norway  20000
4  4  Mark  25 Rich-Mond   65000
5  5 David  27      Texas  85000
6  6   Kim  22 South-Hall  45000
Run Code Online (Sandbox Code Playgroud)

并且仅在名称列中获取数据,

> rows[2]
   NAME
1  Paul
2 Allen
3 Teddy
4  Mark
5 David
6   Kim
Run Code Online (Sandbox Code Playgroud)

我想把它们加入一个字符串,

> paste(rows[2],collapse=" ")
Run Code Online (Sandbox Code Playgroud)

结果,

[1] c("Paul", "Allen", "Teddy", "Mark", "David", "Kim")
Run Code Online (Sandbox Code Playgroud)

但这就是我所追求的,

Paul Allen Teddy Mark David Kim
Run Code Online (Sandbox Code Playgroud)

可能吗?

整个代码,

# Load package.
library("RSQLite")

# Load package.
library("sqldf")

# Load package.
library("tcltk")

# Connect to the sqlite file.
# Localhost.
DB <- dbConnect(SQLite(), dbname = "C:/../sqldf/testDB.sqlite3")

# Fetch all records in the table.
users <- dbGetQuery(
    DB,
    "SELECT *
    FROM users"
)

# SQL statements can be run by using the sql methods provided by sqlContext
rows <- sqldf("SELECT * FROM users")

png(filename="temp.png", width=500, height=500)

plot(1, 1, col = "white")
text(1, 1, paste(rows[2], collapse = ' '))

dev.off()
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

我们也可以使用

paste(rows[,2], collapse=' ')
Run Code Online (Sandbox Code Playgroud)

要么

paste(rows[[2]], collapse=' ')
Run Code Online (Sandbox Code Playgroud)

或者正如@Frank所提到的,我们可以使用任一列提取列的名称 $

paste(rows$NAME, collapse=' ')
Run Code Online (Sandbox Code Playgroud)

要么 [[

paste(rows[['NAME']], collapse=' ')
Run Code Online (Sandbox Code Playgroud)

因为以上所有都是提取列,因为vectorwhile rows[2]仍然是data.frame.我们可以使用strie str(rows[2])和来检查差异str(rows[[2]]).有关更多信息,我们可以查看?Extract或?'['