簡體   English   中英

在R中的子集數據框中替換多個列值

[英]Replace multiple column values in a subset dataframe in R

我想替換R中的子集數據幀的某些值,例如:

我使用的數據框:

sw1<- swiss[1:5, 1:4]
sw2 <- rbind(sw1,sw1)

這是一些索引標准定義的子集:

sw2[sw2$Examination==15 & sw2$Education==12,]

我想分別將“考試”和“教育”的值分別替換為1和2。 但是,如何為這些單元格分配值,以便獲得具有正確值的sw2數據幀。

在您的問題:

sw2 <- rbind(sw2,sw2)

sw2來自哪里? 我只是假設您的rbind()應該是:

sw2 <- rbind(sw1, sw1)

無論如何,您可以像這樣替換這兩列:

sw2[sw2$Examination==15 & sw2$Education==12, c('Examination', 'Education')]  <- list(1, 2)

我隔離了需要用c('Examination', 'Education')更新的列。 list(1, 2)將自動重復您分配給它的盡可能多的行(在這種情況下為兩行)。

語法有點時髦,所以我可能會做更長的時間,但更容易閱讀。

m <- with(sw2, Examination == 15 & Education == 12)
sw2[m, 'Examination'] <- 1
sw2[m, 'Education'] <- 2

暫無
暫無

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

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