有没有办法在没有赋值的情况下在 R 中引用返回的数据帧变量?
Is there a way to reference a returned dataframe's variable in R without an assignment?
我想看看我是否可以仅使用 R 中的一个赋值和一行代码来执行以下代码。
这就是我希望它的工作方式。 Variable/Column 我希望 select 的名字是 'Diet' 和 'Time':
data.melted <- melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=T)[c(Diet == 1 | Diet == 4 & Time == 21)]
这就是我目前使用它的方式:
data.melted <- melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=T)
data.melted <- diet.data.melted[c((data.melted$Diet == 1 | data.melted$Diet == 4) & data.melted$Time == 21),]
有没有办法引用从函数返回的对象,比如保留字,这样我就可以 select 列?如:
melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=T)[ReserveWordForReturnedDF$Time,]
谢谢!
管道 (%>%
) 的引入是为了避免创建此类中间对象。你可以这样做:
library(magrittr)
melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=TRUE) %>%
dplyr::filter(Diet %in% c(1, 4) & Time == 21)
我想看看我是否可以仅使用 R 中的一个赋值和一行代码来执行以下代码。
这就是我希望它的工作方式。 Variable/Column 我希望 select 的名字是 'Diet' 和 'Time':
data.melted <- melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=T)[c(Diet == 1 | Diet == 4 & Time == 21)]
这就是我目前使用它的方式:
data.melted <- melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=T)
data.melted <- diet.data.melted[c((data.melted$Diet == 1 | data.melted$Diet == 4) & data.melted$Time == 21),]
有没有办法引用从函数返回的对象,比如保留字,这样我就可以 select 列?如:
melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=T)[ReserveWordForReturnedDF$Time,]
谢谢!
管道 (%>%
) 的引入是为了避免创建此类中间对象。你可以这样做:
library(magrittr)
melt.data.frame(ChickWeight, measure.vars = 'weight', na.rm=TRUE) %>%
dplyr::filter(Diet %in% c(1, 4) & Time == 21)