R: есть ли карта функций pandas в R? - PullRequest
0 голосов
/ 30 января 2020

Я хочу отобразить значения из именованного списка в R на фрейм данных. Есть ли эквивалент в pandas функции отображения в R?

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

df.map(list) в r?

Я хочу отобразить значения списка на df.

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Я думаю, вы хотите apply в R.

Я пытаюсь угадать, что вы хотите здесь, предполагая, что вы программист R, который более знаком с Python. Вот мое предположение:

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

Что более важно, что здесь происходит? Ну, применять принимает в качестве аргумента вещь , в данном случае фрейм данных, число, где 1 это «сделать это по строкам» и 2 это «сделать это по столбцам» (это только имеет значение, если вы выполняете какую-либо операцию сокращения, такую ​​как sum). Третий аргумент - это функция, которую мы тут же создали на месте.

Если вы застряли, важный совет - иметь возможность сделать ?apply в приглашении R, чтобы получить документацию для функции. .

0 голосов
/ 30 января 2020

Если вы ссылаетесь на карту в pandas, ее можно применить к серии 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"

или используя dplyr из github :

dplyr:::recode(df$x,!!!LIST)
[1]  1  2 NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...