gpt4 book ai didi

r - 将数据框转换为 R 中的引用类对象

转载 作者:行者123 更新时间:2023-12-02 09:23:01 25 4
gpt4 key购买 nike

我正在尝试将 R 中的数据框转换为引用类对象。抱歉,我是 R 新手,但我无法在任何地方找到这个问题的答案!

该类定义如下:

LongitudinalData <- setRefClass(
"LongitudinalData",
fields = list(
id = "numeric",
timepoint = "numeric",
value = "numeric",
visit = "numeric",
room = "character"
),
methods = list(
print = function(id) {
######
},
summary = function(x, id) {
sumOut <- x %>%
group_by(id, visit, room) %>%
select(id, visit, room, value) %>%
filter(id == id) %>%
summarise(valMean = mean(value)) %>%

spreadOut <- sumOut %>%
spread(room, valMean)
spreadOut

}

))

我需要一个函数来将数据框(具有与类字段相同的列名)转换为纵向数据类,并调用该类的打印和摘要方法以询问它。

我不清楚应该如何解决这个问题,因为我正在尝试初始化具有多行的类的实例。我不能说 id = 14 或其他什么并用 x$id 调用该值。我还确信数据仍然需要在某个地方作为数据帧读取,以便使用 dplyr 管道运算符 %>%,所以我更加困惑了。我不知道应该如何定义该类的新实例的字段。

有人可以给我一些关于如何解决这个问题的指示吗?

预先感谢您的帮助。

最佳答案

这对我有用:

# Load Data

library(readr)
data <- read_csv("MIE.csv")


# Using Reference Classes

# Creating the constructor for only the class and fields for now. Methods
# will be added later.

LongitudinalData <- setRefClass("longitudinalData",
fields = list(id = "integer",
visit = "integer",
room = "character",
value = "numeric",
timepoint = "integer"),
methods =
list(print.LongtitudinalData=function(){},
subject.LongtitudinalData=function(){}
)
)


# helper function to initialize LongtidudinalData

make_LD = function(df){
LongitudinalData$new(
id = df$id,
visit = df$visit,
room = df$room,
value = df$value,
timepoint = df$timepoint )
}

# Create new object 'x' with class LongtitudinalData and data from 'MIE'data

x <- make_LD(data)
print(class(x))
print(x)

关于r - 将数据框转换为 R 中的引用类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44066117/

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