如何使函数 return 两列不同类型 (R)?
How to make a function return two columns of different types (R)?
所以我有一个函数可以将简单的算术应用于数据框 (TypeChart) 的三列数字数据并将其绑定到数据框的行名称:
TypeCombo <- function(type1, type2, type3) {
cbind(row.names(TypeChart), TypeChart[,type1] * TypeChart[,type2] * TypeChart[,type3])
}
这确实成功地将三列相乘,但 return将它们作为字符向量而不是数字向量。我可以在此函数中将某些内容更改为 return a list/dataframe,第一列是字符,第二列是数字吗?
cbind
不是 return 一个 data.frame 而是一个矩阵。试试这个:
TypeCombo <- function(type1, type2, type3) {
data.frame(names = row.names(TypeChart),
values = TypeChart[,type1] * TypeChart[,type2] * TypeChart[,type3])
}
所以我有一个函数可以将简单的算术应用于数据框 (TypeChart) 的三列数字数据并将其绑定到数据框的行名称:
TypeCombo <- function(type1, type2, type3) {
cbind(row.names(TypeChart), TypeChart[,type1] * TypeChart[,type2] * TypeChart[,type3])
}
这确实成功地将三列相乘,但 return将它们作为字符向量而不是数字向量。我可以在此函数中将某些内容更改为 return a list/dataframe,第一列是字符,第二列是数字吗?
cbind
不是 return 一个 data.frame 而是一个矩阵。试试这个:
TypeCombo <- function(type1, type2, type3) {
data.frame(names = row.names(TypeChart),
values = TypeChart[,type1] * TypeChart[,type2] * TypeChart[,type3])
}