我有一个像这样的data.frame
dt <- data.frame(
x = c("a","b","c","d"),
y = c(1,2,3,4)
)
如何使用a
使用b
中的相应值创建环境变量c
,d
,dt$y
和dt
?啦啦
a <- 1
b <- 2
c <- 3
d <- 4
[也向data.table
特定的答案开放]
答案 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
我不建议您这样做,因为与数据框一起使用比在全局环境中使用单独的变量要好得多。谨慎使用。