2015-01-17 2 views
0

Я пытаюсь выяснить, как найти, заменить и отбросить значения в dataframe в R. Я использую встроенный набор данных Loblolly в R. Я хочу заменить данные о высоте, зарегистрированные во время роста семян 311 с НС; а затем отбросить все данные из трехлетних деревьев.найти, заменить и сбросить значения в dataframe в R

Я попытался это, но он не работает по какой-то причине:

for('311' in Loblolly$Seed) Loblolly$height <- 'NA' 

В Matlab есть хорошая функция находкой, есть ли аналоги в R?

ответ

1

Вы можете использовать функцию ifelse() для выполнения этой задачи.

data(Loblolly) 
Loblolly$height <- ifelse(Loblolly$Seed == 311, NA, Loblolly$height) 

выше заменен высота с NA только для семян 311.

Чтобы создать новый фрейм данных, исключающая в 3-летних деревьев вы можете сделать:

Loblolly2 <- Loblolly[Loblolly$age != 3, ] 

Ниже я печатаю только строки 20-30, чтобы показать результаты для семян 311:

Loblolly2[20:30, ] 
    height age Seed 
74 59.07 25 307 
19 11.20 5 309 
33 28.66 10 309 
47 41.66 15 309 
61 53.31 20 309 
75 63.05 25 309 
20  NA 5 311 
34  NA 10 311 
48  NA 15 311 
62  NA 20 311 
76  NA 25 311