Как установить используемое определенное значение для всех столбцов во фрейме данных
У меня есть фрейм данных формата
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
Пожалуйста помоги
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))
Использование mtcars в качестве моего dataframe
mpg_first <- mtcars$mpg[1]
mtcars <- mtcars[-1,]
mtcars <- rbind(c(mpg_first,rep(0,ncol(mtcars)-1)),mtcars)