R:R中有熊猫功能图吗?

时间:2020-01-30 16:53:33

标签: r

我想将值从R中的命名列表映射到数据框。 R中有等效的熊猫地图功能吗?

list = (a=1, b=2)
df = data.frame(a)

df.map(list)在r中?

我想将list的值映射到df。

2 个答案:

答案 0 :(得分:0)

如果您指的是大熊猫地图,则可以将其应用于这样的Pd系列:

import pandas as pd 
x = pd.Series(['a','b','c'])
LIST = {'a':1,'b':2}
x.map(LIST)

x = pd.Series(['a','b','c'])
0    1.0
1    2.0
2    NaN

在R中,您可以这样做:

df = data.frame(x = c("a","b","c"))
LIST = list(a=1,b=2)
as.character(LIST[match(df$x,names(LIST))])
"1"    "2"    "NULL"

或使用github中的dplyr:

dplyr:::recode(df$x,!!!LIST)
[1]  1  2 NA

答案 1 :(得分:0)

我认为您想在R中使用apply

假设您是一位更熟悉Python的R程序员,我试图在这里猜测您想要什么。这是我的猜测:

l <- data.frame(a=c(1,2),b=c(3,4))
lgt <- apply(l, 2, function(x) {x > 2})

在这里lgt将打印出以下内容:

   [,1]  [,2]
a FALSE FALSE
b TRUE   TRUE

更重要的是,这是怎么回事?好吧,apply将事物作为参数,在这种情况下为数据帧,其中1是“沿行进行此操作”而2是“沿行进行此操作”的数字列”(仅当您执行sum之类的简化操作时才重要)。它的第三个参数是一个函数,我们在该函数中就地创建了。

如果遇到困难,一个重要提示是能够在R提示符下执行?apply以获取功能文档。