从data.frame / table中的行创建环境变量

时间:2019-07-12 17:02:01

标签: r data.table

我有一个像这样的data.frame

dt <- data.frame(
  x = c("a","b","c","d"),
  y = c(1,2,3,4)
)

如何使用a使用b中的相应值创建环境变量cddt$ydt ?啦啦

a <- 1
b <- 2
c <- 3
d <- 4

[也向data.table特定的答案开放]

2 个答案:

答案 0 :(得分:3)

您可以使用list2env

list2env(setNames(as.list(dt$y), dt$x), envir = .GlobalEnv )

答案 1 :(得分:1)

我们可以使用void Main() { var s = new StringBuilder(); s.AppendLine("Id,Name"); s.AppendLine($"{Guid.NewGuid()},one"); using (var reader = new StringReader(s.ToString())) using (var csv = new CsvReader(reader)) { csv.Configuration.PrepareHeaderForMatch = (header, indexer) => header.ToLower(); csv.GetRecords<ImmutableTest>().ToList().Dump(); } } public class ImmutableTest { public Guid Id { get; } public string Name { get; } public ImmutableTest(string name) : this(Guid.NewGuid(), name) { } public ImmutableTest(Guid id, string name) { Id = id; Name = name; } } 来做到这一点:

assign

我不建议您这样做,因为与数据框一起使用比在全局环境中使用单独的变量要好得多。谨慎使用。