按 r 中的索引行位置用 NA 替换列值

问题描述 投票:0回答:1

我的数据框是这样的:

dput(head(points_U,20)) 
structure(list(Date = c("2015-07-28", "2015-07-29", "2015-07-30", 
"2015-07-31", "2015-08-01", "2015-08-02", "2015-08-03", "2015-08-04", 
"2015-08-05", "2015-08-06", "2015-08-07", "2015-08-08", "2015-08-09", 
"2015-08-10", "2015-08-11", "2015-08-12", "2015-08-13", "2015-08-14", 
"2015-08-15", "2015-08-16"), U_NDVI = c(0.241392907, 0.257591745, 
0.263305712, NA, 0.252892547, 0.251771181, 0.249211747, 0.257289083, 
0.205017583, 0.200722746, 0.210154168, 0.207384553, 0.193725451, 
0.199282602, 0.216267134, 0.217052471, NA, 0.22070303, 0.21646198, 
0.223442036)), row.names = c(NA, 20L), class = "data.frame")

我正在尝试通过索引行位置用 NA 替换列 U_NDVI 的数值。索引行位置为 3、6、9、14、19 和 20。

我试过这个:

points_U$NDVI[3, 6,9, 14, 19, 20] <- NA

但没有成功。

非常感谢任何帮助。

r dataframe replace row na
1个回答
0
投票

正确的做法是使用方括号 (

[row, column]
) 来索引数据框。

points_U[c(3, 6,9, 14, 19, 20), "U_NDVI"] <- NA

         Date    U_NDVI
1  2015-07-28 0.2413929
2  2015-07-29 0.2575917
3  2015-07-30        NA
4  2015-07-31        NA
5  2015-08-01 0.2528925
6  2015-08-02        NA
7  2015-08-03 0.2492117
8  2015-08-04 0.2572891
9  2015-08-05        NA
10 2015-08-06 0.2007227
11 2015-08-07 0.2101542
12 2015-08-08 0.2073846
13 2015-08-09 0.1937255
14 2015-08-10        NA
15 2015-08-11 0.2162671
16 2015-08-12 0.2170525
17 2015-08-13        NA
18 2015-08-14 0.2207030
19 2015-08-15        NA
20 2015-08-16        NA
© www.soinside.com 2019 - 2024. All rights reserved.