【问题标题】:Iterating through variables (columns) in a dataframe in R遍历 R 中数据框中的变量(列)
【发布时间】:2018-03-15 07:03:09
【问题描述】:

我是 R 的初学者,所以这可能是一个显而易见的问题。我有一个包含 129 个变量、一些数字、一些字符串的数据框。基本上,我试图遍历每个变量来计算平均值/模式(取决于变量)、标准开发(如果适用)和频率,并让它成为我可以导出的某种不错的包。我曾尝试使用 for 循环,但我只能让它通过行,而不是列。有人有什么建议吗?

谢谢!!

【问题讨论】:

  • 你读过?summary
  • 另见dplyr::summarise_if。您可以为不同类型的变量(整数、数字、字符)创建自定义摘要,以防基本的变量不能满足您的需求

标签: r for-loop dataframe


【解决方案1】:

您也可以跨列使用 for 循环。

# Considering only 8 rows and using numeric and character cols for demonstration 
iris_new = iris[1:8,]   
iris_new$Species = as.character(iris_new$Species)

for(i in iris_new){  
  print(i)  
}

 [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0   
 [1] 3.5 3.0 3.2 3.1 3.6 3.9 3.4 3.4   
 [1] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5   
 [1] 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2   
 [1] "setosa" "setosa" "setosa" "setosa" "setosa" "setosa" "setosa" "setosa"

【讨论】:

  • 谢谢,这正是我需要的!
  • 很高兴它有帮助。你能接受这个答案(答案左边的勾号),所以它被认为是完整的吗?
【解决方案2】:

colnames(my_dataframe) 生成一个包含“my_dataframe”列名的向量。您可以遍历元素,这是一个打印每列的第一个元素的示例:

for (the_column in colnames(m))
{
    print(my_dataframe[,c(the_column)][1])
}

【讨论】:

    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多