簡體   English   中英

根據列值更改行中的值並替換指定的列范圍

[英]Change values in row based on a column value and replacing specified column range

我找到了大部分答案: 根據列值r更改行中的值 有兩點不同:我想根據分類變量的測試替換值,我想指定我想要替換值的范圍。 我正在使用8600多行和170列的數據幀。

這是一個例子: -

x = data.frame(c("Jan", "Feb", "March", "April"), 
               c(9,3,4,6), c(8, 12,9,11), c(10, 9, 7, 0.6))
names(x) = c("Month","VAR1","VAR2", "VAR3")

我想用NA替換VAR2和VAR3(不是VAR1)的所有值,其中月份是“March”或“April”。

我試過: x[x$Month==c("March", "April"), ] <- data.frame('x', NA, 3:4)但是我收到了錯誤

Warning message:
In `[<-.factor`(`*tmp*`, iseq, value = c(1L, 1L)) :
  invalid factor level, NA generated

print(x)給出:

  Month VAR1 VAR2 VAR3
1   Jan    9    8   10
2   Feb    3   12    9
3  <NA>   NA    3    1
4  <NA>   NA    4    1

有一些明顯的編程初學者語法錯誤我無法通過!

嘗試:

x[x$Month %in% c("March", "April"), c("VAR2", "VAR3")] = NA

暫無
暫無

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

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