[英]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.