循环遍历R中的数据帧

时间:2017-07-10 14:29:13

标签: r loops csv if-statement data.table

我正在尝试遍历DataFrame中列的所有行。我使用data.table读取了csv。我是R的新手,想知道我会采取什么方式做这样的事情:

for i in row_2_of_dataframe: 
 if i == 0: 
  #Do something to that value
 else: 
  #Leave it the way it is 

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

我建议使用ifelse()函数。例如;

mydf$column_name <- ifelse(mydf$column_name == 0, "do something",mydf$column_name)

答案 1 :(得分:-1)

frame <- data.frame(x = as.character(rep("bye", 11)), 
                    y = as.character(0:10),
                    stringsAsFactors = FALSE)

for (i in 1:length(frame[, 2])) {
  if (frame[, 2][i] == 0) {
    frame[, 2][i] <- "hi"
  }
}

你甚至不需要其他声明。

此外,

frame[, 2] 

选择第二列并将其转换为矢量。

frame[, 1] 

会选择第一列。

frame[1, ] 

会选择第一个

等等。

干杯。