簡體   English   中英

更改具有唯一值的多列中的值並合並為單列 (R)

[英]Change values in multiple columns with unique value and merge into single column (R)

假設我有一個包含 3 個變量的 4 行數據集 (ds),如下所示:

ds
x1  x2  x3
 1   0   0
 0   0   1
 0   1   0
 0   0   1

如何將每列的“1”更改為唯一值並將它們合並為一列?

所以,第一步:

x1  x2  x3
 1   0   0
 0   0   3
 0   2   0
 0   0   3

然后,第二步(創建x4 ):

x1  x2  x3  x4
 1   0   0   1
 0   0   3   3
 0   2   0   2
 0   0   3   3

我有比這更多的變量,我只是想知道如何最大限度地減少我寫的行數,所以它不像 10+ 行。

你可以這樣做:

df <- read.table(text="x1  x2  x3
1   0   0
0   0   1
0   1   0
0   0   1", header=TRUE, stringsAsFactors=FALSE)

df <- df*col(df)
df$x4 <- rowSums(df)

  x1 x2 x3 x4
1  1  0  0  1
2  0  0  3  3
3  0  2  0  2
4  0  0  3  3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM