gpt4 book ai didi

r - 遍历数据框和变量名

转载 作者:行者123 更新时间:2023-12-04 13:07:17 24 4
gpt4 key购买 nike

我正在寻找一种使用FOR循环自动执行R中某些图的方法:

dflist <- c("dataframe1", "dataframe2", "dataframe3", "dataframe4")

for (i in dflist) {
plot(i$var1, i$var2)
}

所有数据帧都具有相同的变量,即var1,var2。

似乎 for循环在这里不是最优雅的解决方案,但是我不明白如何将 apply函数用于图表。

编辑:

我使用 mean()的原始示例对原始问题没有帮助,因此我将其更改为绘图函数。

最佳答案

为了进一步增加Beasterfield的答案,似乎您想对每个数据帧执行一些复杂的操作。

apply语句中可能具有复杂的功能。因此,您现在拥有的位置:

for (i in dflist) {
# Do some complex things
}

可以将其翻译为:
lapply(dflist, function(df) {
# Do some complex operations on each data frame, df
# More steps

# Make sure the last thing is NULL. The last statement within the function will be
# returned to lapply, which will try to combine these as a list across all data frames.
# You don't actually care about this, you just want to run the function.
NULL
})

使用plot的更具体示例:
# Assuming we have a data frame with our points on the x, and y axes,
lapply(dflist, function(df) {
x2 <- df$x^2
log_y <- log(df$y)
plot(x,y)
NULL
})

您还可以编写带有多个参数的复杂函数:
lapply(dflist, function(df, arg1, arg2) {
# Do something on each data.frame, df
# arg1 == 1, arg2 == 2 (see next line)
}, 1, 2) # extra arguments are passed in here

希望这可以帮助你!

关于r - 遍历数据框和变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16714020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com