-3

驚いたことに、私はすでにここにいる質問の中にはこの質問を見つけることができませんでした. 基本的なことで申し訳ありません。

私はこれを持っています:

A    B    C    D     E
1    3    500  200   1 
2    3    500  200   2
3    2    500  200   1
3    3    500  200   1 

列 A から D を「ROW_NAMES」という新しい列に結合したいと考えています。

ROW_NAMES    E
13500200     1
23500200     2
32500200     1
33500200     1
4

2 に答える 2

2

驚かれるかもしれませんが、関数pasteと便利なバージョンがありますpaste0:

df <- within(df, ROW_NAMES <- paste0(A, B, C , D))
df[, 6:5]
#   ROW_NAMES E
# 1  13500200 1
# 2  23500200 2
# 3  32500200 1
# 4  33500200 1

または、多くの列を貼り付けて入力を減らしたい場合:

df$ROW_NAMES <- do.call(paste0, df[, -5])
df[, 6:5]
于 2013-09-15T19:33:00.037 に答える
0

qdap パッケージの Paste2 は、これにアプローチする 1 つの方法です。

## dat <- read.table(text="A    B    C    D     E
## 1    3    500  200   1 
## 2    3    500  200   2
## 3    2    500  200   1
## 3    3    500  200   1 ", header=TRUE)


library(qdap)
data.frame(ROW_NAMES=paste2(dat[, 1:4], sep=""), E=dat$E)

## > data.frame(ROW_NAMES=paste2(dat[, 1:4], sep=""), E=dat$E)
##   ROW_NAMES E
## 1  13500200 1
## 2  23500200 2
## 3  32500200 1
## 4  33500200 1
于 2013-09-15T19:33:11.067 に答える