簡體   English   中英

在數據集中添加新列

[英]Add a new column in dataset

我有一個數據集,看起來像這樣: 在此輸入圖像描述

我需要添加一列“ forgets”,以區分是否有超過2個錯誤的命中,該列應包含“ yes”,如果小於或等於2次嘗試,則為“ no”

我先進行分組,然后嘗試添加“是”和“否”值

library(dplyr)
p <- group_by(d,  Participant, Session, Condition, Block, PassedIconName)

for (i in 1:nrow(p)){
  if (p$WrongHitsCount[i] >2){
    p$Forget[i] <- "yes"
  } else {
    p$Forget[i] <-"no"
  }
}

但是此代碼在數據文件的首次嘗試中添加“是”,而在其余部分中則添加“否”。 對於所有被錯誤擊中2次以上的圖標,我需要在所有情況下都設置為“否”。

您能告訴我如何實現嗎?

堅持dplyr ;)

d %>%
  mutate(forgets = ifelese(WrongHitsCount > 2, "yes", "no")) ->
  dmod

或者,如果您想按小組來做。 您簡單的for循環將不遵守group_by 這個問題尚不清楚,您想進行哪種匯總,因此我對每行分別使用了> 2條件(或者,您可能想對錯誤的結果求和,然后與2進行比較):

d %>%
  mutate(condition_hit = WrongHitsCount > 2) %>%
  group_by(Participant, Session, Condition, Block, PassedIconName) %>%
  summarise(condition_hit = sum(condition_hit)) %>%
  mutate(forgets = ifelese(condition_hit > 1, "yes", "no")) %>%
  select(-condition_hit) ->
  dmod

暫無
暫無

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

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