Как установить используемое определенное значение для всех столбцов в кадре данных

У меня есть фрейм данных формата

                Time Ask Bid Trade Ask_Size Bid_Size Trade_Size 
2016-11-01 09:00:12  NA 901    NA       NA      100         NA  
2016-11-01 09:00:21  NA  NA   950       NA       NA          5  
2016-11-01 09:00:21  NA 950    NA       NA        5         NA 

Я хочу установить значения 1-й строки для всего столбца равными нулю (кроме значения 1-й строки столбца Time)

Я хочу, чтобы данные были в формате

                Time Ask Bid Trade Ask_Size Bid_Size Trade_Size 
2016-11-01 09:00:12  0   0     0         0       0           0  
2016-11-01 09:00:21  NA  NA   950       NA       NA          5  
2016-11-01 09:00:21  NA 950    NA       NA        5         NA 

Пожалуйста помоги


person Abhishek    schedule 26.11.2016    source источник


Ответы (2)


Вы можете использовать индексацию, чтобы назначить первой строке для всех столбцов, кроме первого столбца, значение 0.

df1[1, -1] <- 0
df1
#                 Time Ask Bid Trade Ask_Size Bid_Size Trade_Size
#1 2016-11-01 09:00:12   0   0     0        0        0          0
#2 2016-11-01 09:00:21  NA  NA   950       NA       NA          5
#3 2016-11-01 09:00:21  NA 950    NA       NA        5         NA

данные

df1 <- structure(list(Time = c("2016-11-01 09:00:12", "2016-11-01 09:00:21", 
"2016-11-01 09:00:21"), Ask = c(NA, NA, NA), Bid = c(901L, NA, 
950L), Trade = c(NA, 950L, NA), Ask_Size = c(NA, NA, NA), Bid_Size = c(100L, 
NA, 5L), Trade_Size = c(NA, 5L, NA)), .Names = c("Time", "Ask", 
"Bid", "Trade", "Ask_Size", "Bid_Size", "Trade_Size"), class = "data.frame",
 row.names = c(NA, -3L))
person akrun    schedule 26.11.2016

Использование mtcars в качестве моего фрейма данных

mpg_first <- mtcars$mpg[1]
mtcars <- mtcars[-1,]
mtcars <- rbind(c(mpg_first,rep(0,ncol(mtcars)-1)),mtcars)
person Hardik Gupta    schedule 26.11.2016