【发布时间】:2018-04-14 00:38:02
【问题描述】:
我有以下日期:
var1 <- c("a", "b", "c", "d", "e")
我有一个函数可以为每个 var1 值分配一个数字分数 (0-3)。
f(a) --> 2
f(b) --> 1
etc...
我想使用 apply like 函数来获取包含 2 列的数据框: var1 和分数:
var1 score
a 1
b 0
c 3
d 3
e 2
f 1
我曾尝试使用 vapply 和 map_dfr,但它不像我展示的那样工作。 请告知如何执行此操作。
附言
For map_dfr: Error: cannot convert object to a data frame
【问题讨论】:
-
你可以使用
stack,即stack(setNames(lapply(var1, f), var1))[2:1] -
先设置向量var1为数据框:
df1 <- as.data.frame(var1),然后sapply(df1, function) -
你能复制粘贴你的数据框(或其中的一部分)和你的函数吗?
-
我不能使用 map/apply 或任何其他类似功能的功能在一行代码中完成它?
-
@akrun 将立即执行并更新。
标签: r function dictionary dataframe apply