我正在处理超过300个csv文件中的数据。每个csv文件中的变量列名称相同。我使用rbind和loop将列堆叠成一个空数据帧。我想计算一列的平均值,但在此之前,我需要(1)根据另一列中的值对数据帧进行子集或隔离。
示例:
考虑以下名为dfABC()
的数据框A B C
1 5 7
1 4 6
4 5 8
2 5 7
2 1 7
3 2 3
我需要根据列中的值缩小数据框。假设我想根据B列缩小数据帧。假设我想返回B = 5的所有行。然后我会得到这个数据帧:
A B C
1 5 7
4 5 8
2 5 7
从这个新数据框(即dfABC2()),我将能够计算A列或C列的平均值。
此外,在计算平均值之前,我需要删除NA值。非常感谢您的帮助。我尝试了各种方法,但每种方法似乎都会返回某种错误消息和/或根据我应该收到的内容返回不正确的数字。
答案 0 :(得分:0)
您可以使用
dataframeWothoutNAs <-na.omit(df)
从数据框中删除na值。
您可以使用subset
功能执行子集化。
这是一个链接,其中包含一些不同的子集示例,一些使用子集函数,另一些使用其他方法(没有双关语)
http://www.statmethods.net/management/subset.html
e.g。
subsetteddata <- subset(df, B == 5)