[英]R - How to add data to a new column by subset conditions?
我正在嘗試根據另一列中的值將值添加到新列中。 以虹膜數據為例,我的基本邏輯是“如果iris $ Sepal.Length> 5,則iris $ size =='TRUE'”。
> head(iris, 2)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
以鳶尾花數據為例,我的基本邏輯是“如果iris $ Sepal.Length> 5,那么iris $ size =='TRUE'”產生:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species size
1 5.1 3.5 1.4 0.2 setosa TRUE
2 4.9 3.0 1.4 0.2 setosa NA
我可以對數據進行子集設置,但無法獲取將值傳回的語法。 像這樣嗎
subset(iris, iris$Sepal.Length >= 5) %>% iris$size == 'TRUE'
您可以使用ifelse
語句執行類似的ifelse
iris$Size <- ifelse(iris$Sepal.Length >= 5, "TRUE", "FALSE")
使用dplyr
。 邏輯表達式的輸出為TRUE/FALSE
。 最好不要創建字符輸出
library(dplyr)
iris %>%
mutate(size = Sepal.Length >=5)
要么:
iris$size <- iris$Sepal.Length >= 5
或者,如果您想走整潔的路線
iris %>% mutate(size = Sepal.Length >= 5)
iris$size[iris$Sepal.Length>=5] <- TRUE
這基本上讀為“對於iris $ Sepal.Length等於或大於5的那些行,將TRUE放入iris $ size中”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.