我想将值从R中的命名列表映射到数据框。 R中有等效的熊猫地图功能吗?
list = (a=1, b=2)
df = data.frame(a)
df.map(list)
在r中?
我想将list的值映射到df。
答案 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
以获取功能文档。